技術指南:MVC是什麼-合理的設計我們的應用
目標
1.理解 MVC 架構的概念
2.能夠在專案中應用 MVC 架構模式
任務實現
12.1 MVC
應用程式開發人員在工作中都需要考慮一些問題,如:
如何簡化開發
如何降低應用程式的耦合性
如何提高程式碼的重用性
如何提高應用程式的可擴充套件性及維護性
......
1979年,由 Trygve Reenskaug 在 Smalltalk-80 系統上首次提出了 MVC 的概念,主要核心就是由專業的人做專業的事。MVC 模式代表 Model(模型)-View(檢視)-Controller(控制器)模式。這種模式主要應用於應用程式的分層開發。將應用程式中顯示什麼資料、資料由誰處理、怎麼處理進行分離,可以由不同的開發人員專注於自己的領域,而無需關注其它。
12.1.1 MVC架構概念
MVC將應用程式劃分為三種元件,並明確定義了它們之間的相互作用:
模型(Model):用於封裝與應用程式的業務邏輯相關的資料以及對資料的處理法。"Model"有對資料直接訪問的權力,例如對資料庫的訪問。"Model"不依賴"View"和"Controller",也就是說, Model 不關心它會被如何顯示或是如何被操作。但是 Model 中資料的變化一般會通過一種重新整理機制被公佈。為了實現這種機制,那些用於監視此 Model 的 View 必須事先在此 Model 上註冊,從而,View 可以瞭解在資料 Model 上發生的改變
檢視(View):能夠實現資料有目的的顯示。在 View 中一般沒有程式上的邏輯。為了實現 View 上的重新整理功能,View 需要訪問它監視的資料模型(Model),因此應該事先在被它監視的資料那裡註冊
控制器(Controller):可以將控制器理解為一個橋樑,處理事件並作出響應。負責從檢視讀取資料,控制使用者輸入,並向模型傳送資料
12.1.2 MVC架構優缺點
不論是什麼技術,使用什麼理念,尤其是能夠經過長時間的應用實踐,都有其顯著的優點,有優點,也必然存在一些缺點,下面我們來看一下 MVC 模式的優缺點。
優點
高內聚性 - MVC可以在控制器上對相關操作進行邏輯分組。特定模型的檢視也可以組合在一起。
耦合性低 - MVC框架的本質是模型,檢視或控制器之間的耦合較低
重用性高 -允許使用各種不同樣式的檢視來訪問同一個伺服器端的程式碼;將資料和業務規則從表示層分開,可以最大化的重用程式碼。模型也有狀態管理和資料永續性處理的功能
提高可擴充套件性與可維護性 - 由於分離檢視層和業務邏輯層也使得WEB應用更易於維護和修改
利於專案的管理 - 由於不同的層各司其職,每一層不同的應用具有某些相同的特徵,有利於通過工程化、工具化管理程式程式碼。控制器也提供了一個好處,就是可以使用控制器來聯接不同的模型和檢視去完成使用者的需求
簡化了分組開發-不同的開發人員可同步開發應用專案中的檢視、控制器邏輯和業務邏輯
缺點
增加系統結構及程式碼量-對於簡單的介面,嚴格遵循MVC,使模型、檢視與控制器分離,會增加結構的複雜性及相應的程式碼量
不適用於中小型應用專案 - 將MVC應用到規模並不是很大的應用程式通常會降低開發效率,增加開發成本
顯著的學習曲線 - 關於掌握多種技術的知識成為常態。使用MVC的開發人員需要熟練掌握多種技術
§ 區塊鏈技術QQ交流群:263270946 § 掌握更多技術乾貨,關注微信公眾號“ChainDesk”
12.1.3 MVC架構的實際應用
MVC 不是一種技術,而是一種理念。下面是一個通過 JavaScript 所實現的基於 MVC 模型,在這個簡短的程式碼中就寫成了一個具有完整 MVC 架構模式概念的示例。

未經授權禁止轉載、改編,轉載請註明出處!