模型
視圖
控制器(MVC)是
年代Smalltalk
出現的一種軟件設計模式
現在已經被廣泛的使用
模型(Model)
模型是應用程序的主體部分
模型表示業務數據
或者業務邏輯
視圖(View)
視圖是應用程序中用戶界面相關的部分
是用戶看到並與之交互的界面
控制器(controller)
控制器工作就是根據用戶的輸入
控制用戶界面數據顯示和更新model對象狀態
MVC 式的出現不僅實現了功能模塊和顯示模塊的分離
同時它還提高了應用系統的可維護性
可擴展性
可移植性和組件的可復用性
早期的程序中
如果不注意對數功能和顯示的解耦合
常常會導致程序的復雜及難以維護
很多VB
Delphi等RAD程序都有這種問題
甚至現在的C#
Java有時候也會出現把業務邏輯寫在顯示模塊中的現象
管MVC設計模式很早就提出
但在Web項目的開發中引入MVC卻是步履維艱
主要原因
一是在早期的Web項目的開發中
程序語言和HTML的分離一直難以實現
CGI程序以字符串輸出的形式動態地生成HTML內容
後來隨著腳本語言的出現
前面的方式又被倒了過來
改成將腳本語言書寫的程序嵌入在HTML內容中
這兩種方式有一個相同的不足之處即它們總是無法將程序語言和HTML分離
二是腳本語言的功能相對較弱
缺乏支持MVC設計模式的一些必要的技術基礎
直到基於J
EE的JSP Model
問世時才得以改觀
它用JSP技術實現視圖的功能
用Servlet技術實現控制器的功能
用JavaBean技術實現模型的功能
JSP Model
與 JSP Model
SUN在JSP出現早期制定了兩種規范
稱為Model
和Model
雖然Model
在一定程度上實現了MVC
但是它的應用用並不盡如人意
JSP Model
JSP Model
model
容易使系統出現多個Controller
並且對頁面導航的處理比較復雜
有些人覺得model
仍不夠好
於是Craig R
McClanahan
年
月 提交了一個WEB framework給Java Community
這就是後來的Struts
年
月
Struts
正式發布
該項目也成為了Apache Jakarta的子項目之一
Struts 質上就是在Model
的基礎上實現的一個MVC架構
它只有一個中心控制器
他采用XML定制轉向的URL
采用Action來處理邏輯
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28473.html