Android中Mvp與Mvc模式的區別

2021-07-22 23:47:47 字數 760 閱讀 4554

mvc簡介

使用mvc的目的是將m和v的實現**分離,從而使同乙個程式可以使用不同的表現形式。比如一批統計資料可以分別用柱狀圖、餅圖

來表示。c存在的目的則是確保m和v的同步,一旦m改變,v應該同步更新。

mvc缺點:

在mvc裡,view可以直接訪問model,從而view裡會包含model資訊,不可避免的還要包括一些業務邏輯。所以當互動比較複雜,view又比較多變的情況下,更改view比較困難,view中的業務邏輯是無法復用的。

mvp簡介:

與mvc重大區別:在mvp中view並不直接使用model,它們通訊是通過presenter來進行的,而mvc中view會從model中直接讀取資料而不是controller。

mvp優缺點:

presenter把m和v完全分離開,互動邏輯都在presenter裡實現,而且p與v沒有直接關聯,是通過定義好的介面進行互動,從而使變更view時可以保持p不變,即重用!該模式下開發起來結構清晰易懂,耦合度低,但是**量檔案數量會變大。

舉例:

在mvc模式下,activity給人的感覺是view + controller,有view還有互動邏輯,因此乙個activity有可能會變得很龐大,

但是在mvp模式下,activity約等於view這一層,然後有專門的presenter來負責互動邏輯,大體可以這樣理解吧。

MVC與MVP的區別

1.mvp是針對於高階開發工程師和架構師使用,mvp主要目的是 1 為了提高系統應用的擴充套件性,後期在修改以及維護 增加功能模組時,修改的地方越少越好 2 為了把m和v的耦合性降低,即解決邏輯和檢視之間的鬆散耦合性問題,減輕了view的工作壓力,在安卓的view指的是activity 3 在mvp...

MVC與MVP區別何在

區別有三點 1 presenter與controller都扮演了邏輯層的角色,但是presenter層的功能相對更複雜,因為他負責和view的雙向互動,controller只是單向的中介。因為presenter是從view層抽離出來的,通常和view是一對一的關係,而controller是面向業務的...

MVC與MVP的區別

mvc全名是model view controller,是模型 model 檢視 view 控制器 controller 的縮寫。1 模型 用於儲存資料以及處理 使用者請求的業務邏輯。2 檢視 向控制器提交資料,顯示模型中的資料。3 控制器 根據檢視提出的請求,判斷將請求和資料提交交給哪個模型來處理...