架構設計之MVC

2021-07-30 16:33:54 字數 1193 閱讀 9750

一、簡介

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設計模式。

系統設計之架構設計

架構設計這個詞聽的非常的多,但真正何謂架構設計呢?可能要你真的來講還真的講不太清楚,很多人都知道架構設計是對系統進行分層 分模組進行設計,但又有多少人知道這步應該怎麼去做呢,往往很多的programmer在剛進入架構設計這個領域的時候,受到以前做模組的那種影響,把自己的眼光限定到了具體的模組實現上去...

系統設計之架構設計

架構設計這個詞聽的非常的多,但真正何謂架構設計呢?可能要你真的來講還真的講不太清楚,很多人都知道架構設計是對系統進行分層 分模組進行設計,但又有多少人知道這步應該怎麼去做呢,往往很多的programmer在剛進入架構設計這個領域的時候,受到以前做模組的那種影響,把自己的眼光限定到了具體的模組實現上去...

C Socket TCP之架構設計

一.客戶端 1.請求連線伺服器 在cknnection類中 private string ip private int port private socket socket private byte data public connection string ip,int port 2.傳送訊息 在...