1 回答

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
MVP概念:
MVP(Model-View-Presenter) 是總所周知MVC模式的一個(gè)演變,主要目的都是劃分模塊職責(zé),降低模塊耦合,易測(cè)試,提高代碼復(fù)用。
層級(jí)責(zé)任
Model:負(fù)責(zé)數(shù)據(jù)的檢索,持久化等操作。
View: 負(fù)責(zé)UI的繪制和用戶的交互。
Presenter: 作為Model和View的中間協(xié)調(diào)部分,負(fù)責(zé)兩者之間的業(yè)務(wù)邏輯處理。
MVC模式的區(qū)別
MVC模式允許View層和Model層直接通訊。
當(dāng)某個(gè)View的功能很復(fù)雜的時(shí)候,View和Model的耦合度可能會(huì)很高。
MVP模式就沒有這個(gè)問題,View會(huì)抽象出來一系列操作UI的接口。
Presenter拿到的都是其他兩個(gè)層級(jí)的接口來做業(yè)務(wù)邏輯的處理,這樣不僅可以使View和Model之間的耦合度降低,還可以更易得進(jìn)行單元測(cè)試。
MVP的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):降低耦合,層級(jí)職責(zé)更明顯,易于單元測(cè)試。
缺點(diǎn):造成類數(shù)量爆炸,代碼復(fù)雜度和學(xué)習(xí)成本高,在某些場(chǎng)景下presenter的復(fù)用會(huì)產(chǎn)生接口冗余。
- 1 回答
- 0 關(guān)注
- 805 瀏覽
添加回答
舉報(bào)