MVC是什麼?程序員
Model+View+Controller設計模式
M:Model-模型(Entity,Dao,Service,數據的封裝、訪問,業務邏輯處理)測試
V:View-視圖(HTML,Jsp頁面,客戶交互,顯示數據)spa
C:Controller-控制器(接收請求,調用處理,響應)設計
簡述:調試
MVC是Java的其中一種開發設計模式,利用Controller控制器層接收View視圖層(用戶的請求)的數據,轉發到Model模型層進行業務邏輯的處理與及數據的訪問;接口
含義:生命週期
MVC設計的模式的含義就是把模型、視圖、控制器區分開來,各自處理並完成本身的任務;開發
MVC的優缺點部署
優勢:
1.耦合性低:
視圖層和業務層分離,這樣就容許更改視圖層代碼而不用從新編譯模型和控制器代碼,一樣,一個應用的業務流程或者業務規則的改變只須要改動MVC的模 型層便可。由於模型與控制器和視圖相分離,因此很容易改變應用程序的數據層和業務規則。
2.重用性高:
模型的可移植性。由於模型是獨立於視圖的,因此能夠把一個模型獨立地移植到新的平臺工做。須要作的只是在新平臺上對視圖和控制器進行新的修改。
3.較低的生命週期成本
MVC使開發和維護用戶接口的技術含量下降。
4.快速部署
使用MVC模式使開發時間獲得至關大的縮減,它使程序員(Java開發人員)集中精力於業務邏輯,界面程序員(HTML和JSP開發人員)集中精力於表現形式上。
5.可維護性
分離視圖層和業務邏輯層也使得WEB應用更易於維護和修改。
缺點:
1.沒有明確的定義
徹底理解MVC並非很容易。使用MVC須要精心的計劃,因爲它的內部原理比較複雜,因此須要花費一些時間去思考。同時因爲模型和視圖要嚴格的分離,這樣也給調試應用程序帶來了必定的困難。每一個構件在使用以前都須要通過完全的測試。
2.增長了系統結構和實現的複雜性
對於簡單的界面,嚴格遵循MVC,使模型、視圖與控制器分離,會增長結構的複雜性,並可能產生過多的更新操做,下降運行效率。
3.視圖與控制器間的過於緊密的鏈接:
視圖與控制器是相互分離,但確實聯繫緊密的部件,視圖沒有控制器的存在,其應用是頗有限的,反之亦然,這樣就妨礙了他們的獨立重用。