架構設計之MVC

一、簡介
  MVC(Model View Controller,模型-視圖-控制器)是Xerox PARC在二十世紀八十年代爲編程語言Smalltalk-80發明的一種軟件設計模式,已被廣泛使用。一種軟件設計典範,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件裏面,在改進和個性化定製界面及用戶交互的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用於映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。
  
二、運用MVC

模型層(Model)
  我們針對業務模型,建立的數據結構和相關的類,就可以理解爲Model,Model是和業務相關的,和View無關。
  在這層適合做一些業務邏輯處理,例如數據庫存取操作,網絡操作,複雜的算法,耗時的任務等都在model層處理。
  
視圖層(View)
  應用層中處理數據顯示的部分,XML佈局可以視爲View層,顯示Model層的數據結果。
  在這層適合做一些顯示效果的處理,例如View的佈局顯示,view的樣式效果等,視圖層是直接面向用戶的。
  
控制層(controller)
  android的控制層通常在Acitvity、Fragment或者由它們控制的其他業務類中,我們也都知道Activity是Ui主線程。
  在這層我們要處理View層和Model層的交互邏輯。例如從View層獲取視圖數據,然後向Model發送數據請求。

三、MVC優點和缺點

優點:

1.模塊分工明確。主要分層爲Model,View,Controller三個模塊,有利於代碼的閱讀和維護。

2.耦合性低。耦合性是指代碼模塊之間的關聯程度。利用MVC框架使得View(視圖)層和Model(模型)層可以很好的分離,這樣就達到了解耦的目的,所以耦合性低,減少模塊代碼之間的相互影響。提升了整體代碼的可閱讀性以及高效的可維護性。

3.擴展性好。由於耦合性低,在新增加需求以及代碼時,可以明確需要添加和修改的代碼模塊。對整體代碼架構以及設計有很好的健壯性,降低了bug的出現概率,提高了代碼質量。

android和iOS項目使用MVC缺點

  在Android開發中,Activity並不是一個標準的MVC模式中的Controller,它的首要職責是加載應用的佈局和初始化用戶界面,並接受來自用戶的操作請求和作出響應。隨着界面及其邏輯的複雜度不斷提升,Activity類的職責不斷增加,以致變得龐大臃腫。
  如果大家覺得此弊端不可以接受,推薦大家使用MVP設計模式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章