第四篇:設計模式與Struts介紹篇
嚴重警告:只關心程式的人請跳過
事先聲明:本篇全是介紹性的東西,根本沒談到編程。本篇所有內容均不是本人作品。也沒有修改的地方,只是刪除了些內容。為什麼要加這篇內容?看了能明白什嗎?等等諸類問題,本人概不知道,但要聲明:覺得不是廢話。
設計模式(Design Patten)
簡單來說,Design Patten 就是一個常用的方案。 在我們的開發過程中,經常會遇到一些相同或者相近的問題,每次我們都會去尋找一個新的解決方案,為了節省時間提高效率,我們提供一些能夠解決這些常見問題的,被證實可行的方案,構成一個統一的資產庫。
一個Design Patten描述了一個被證實可行的方案。這些方案非常普通,是有完整定義的最常用的模式。 這些模式可以被重用,有良好的伸縮性。
MVC設計模式
代碼分離,顯示與邏輯解耦
驗證處理
流程式控制制
更新應用程式的狀態
MVC 通過將問題分為三個類別來協助解決單一模組方法所遇到的某些問題,這就
Model(模型) 、View (視圖) 、Controller(控制器)
Model(模型)
模型包含了應用程式的核心,它封裝了應用程式的資料結構和事務邏輯,集中體現了應用程式的狀態。有時候它僅包含了狀態資訊,因為它並不瞭解視窗或控制器的資訊(任何時候它對視圖或控制器都一無所知 )。
JavaBean及 EJB 很適合扮演這個角色,因為它能夠處理絕大部分事務邏輯和資料結構。它能夠與資料庫或檔案系統進行互動,承擔維護應用程式資料的責任。
View(視圖)
視圖實現模組的外觀, 它是應用程式的外在表現。它可以訪問模型的資料, 卻不瞭解模型的情況, 同時它也不瞭解控制器的情況。當模型發生改變時, 視圖會得到通知, 它可以訪問模型的資料,但不能改變這些資料 。
Controller(控制器)
控制器對使用者的輸入做出反應並且將模型和視圖聯絡在一起。servlet能夠接受用戶端的HTTP請求, 並且根據需要建立所需的JavaBean或者EJB,然後將產生的變化通知給視窗 。
面向WEB應用的 MVC Model 2 模式
Web應用的特點:
客戶機和伺服器的無狀態串連
由於HTTP本身缺乏狀態資訊,用戶端必須對伺服器進行再查詢才能發現由輸入所造成的改變,在這種情況下,控制器不能將應用程式的改變通知視圖。
實現視圖所用的技術與實現模型或控制器的技術不同。
也可以使用Java代碼來產生所有的Html,但這樣會產生更多問題。
對於 Web應用,需要修改標準的 MVC 形式。顯示了 MVC 的 Web 改寫版,通常也稱為 MVC Model 2 或 MVC 2。