Android MVP與MVC

Android MVP

View是一個(gè)接口,負(fù)責(zé)被動的把處理好的數(shù)據(jù)顯示出來

Model也是一個(gè)接口,負(fù)責(zé)獲取數(shù)據(jù)和存儲數(shù)據(jù)

View調(diào)用Presenter處理用戶事件也是一個(gè)接口,稱為事件Delegate

Presenter持有的是View的接口和Model接口

View不直接與Model交互,而是通過與Presenter交互來與Model間接交互

Presenter與View的交互是通過接口來進(jìn)行的

通常View與Presenter是一對一的,但復(fù)雜的View可能綁定多個(gè)Presenter來處理邏輯

MVC架構(gòu)

View可以與Model直接交互

Controller是基于行為的,并且可以被多個(gè)View共享

可以負(fù)責(zé)決定顯示哪個(gè)View

View層同樣提供抽象接口,方便解耦,同時(shí)方便測試用例測試View的impl實(shí)現(xiàn)交互代碼

這時(shí)候?qū)慤I和邏輯的人可以完全分工,他們通過接口對接 ,Presenter的角色更像是一個(gè)設(shè)計(jì)模式的適配器類,負(fù)責(zé)對接UI與數(shù)據(jù)邏輯

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容