? ?MVC并不是Java語言的特有的設計思想,也并不是Web應用所特有的思想,它是所有面向對象程序設計語言都應該遵守的規(guī)范。
????MVC思想將一個應用分成三個基本部分:Model(模型)、View(視圖)和Controller(控制器),這三個部分以最少的耦合協(xié)同工作,從而提高應用的可擴展性和可維護性。
????MVC的特點:
????(1)多個視圖可以對應一個模型。按MVC設計模式,一個模型對應多個視圖,可以減少代碼的復制及代碼的的維護量,這樣,一旦模型發(fā)生變化,也易于維護。
????(2)模型返回的數(shù)據(jù)與顯示邏輯分離。模型數(shù)據(jù)可以應用任何的顯示技術,例如,使用JSP頁面、Velocity模板或者直接產生Excel文檔等。
????(3)應用被分隔為三層,這降低了各層之間的耦合,提供了應用的可擴展性。
????(4)控制層的概念也很有效,由于它把不同的模型和不同的視圖組合在一起,完成不同的請求。因此,控制層可以說包含了用戶請求權限的概念。
? ? (5)MVC更符合軟件工程化管理的精神。不同的層各司其職,每一層的組件具有相同的特征,這有利于通過工程化和工具化的方法產生管理程序代碼。