為什么使用MVC模式:
1、提高代碼的重用性
因為數據和業務規則從表示層分開,所以可以最大化的重用代碼
2、提高程序的可維護性
因為模型是自包含的,並且與控制器和視圖相分離,所以很容易改變數據層和業務規則
mvc模式的優點:
1、有利於團隊開發分工協作和質量控制,降低開發成本
2、可以為一個模型在運行時同時建立和使用多個視圖。變化-傳播機制可以確保所有相關的視圖及時得到迷行數據變化,從而使所有關聯的視圖和控制器做到行為同步。
3、視圖與控制器的可接插性,允許更換視圖和控制器對象,而且可以根據需求動態的打開或關閉、甚至在運行期間進行對象替換
4、模型的可移植性,因為模型是獨立於視圖的,所以可以把一個模型獨立的移植到新的平台工作,需要做的只是在新平台上對視圖和控制器進行新的修改。
5、潛在的框架結構。可以基於此模型建立應用程序框架,不僅僅是用在設計界面的這幾中
mvc模式的缺點:
1、增加了系統結構和實現的復雜性。對於簡單的界面,嚴格遵循mvc,使模型、視圖與控制器分離,會增加結構的復雜性,並可能產生過多的更新操作,降低運行效率
2、視圖對模型數據的訪問效率低,視圖可能需要多次調用model才能獲得足夠的顯示數據
3、完全理解mvc不是很容易,使用時需要精心計划,因為他的內部原理比較復雜,所以需要花費一些時間去思考,同時由於模型和試圖要嚴格的分離,這樣也給調試應用程序到來了一定的困難
mvc模式可以分解為三種模式,
觀察者模式 :https://www.cnblogs.com/luohanguo/p/7825656.html
合成模式: https://blog.csdn.net/jsagacity/article/details/79035022
策略模式:https://blog.csdn.net/onewby/article/details/78868959