Android MVP
View是一個(gè)接口盹憎,負(fù)責(zé)被動(dòng)的把處理好的數(shù)據(jù)顯示出來(lái)
Model也是一個(gè)接口距淫,負(fù)責(zé)獲取數(shù)據(jù)和存儲(chǔ)數(shù)據(jù)
View調(diào)用Presenter處理用戶事件也是一個(gè)接口顶吮,稱為事件Delegate
Presenter持有的是View的接口和Model接口
View不直接與Model交互颁股,而是通過(guò)與Presenter交互來(lái)與Model間接交互
Presenter與View的交互是通過(guò)接口來(lái)進(jìn)行的
通常View與Presenter是一對(duì)一的惜索,但復(fù)雜的View可能綁定多個(gè)Presenter來(lái)處理邏輯
MVC架構(gòu)
View可以與Model直接交互
Controller是基于行為的,并且可以被多個(gè)View共享
可以負(fù)責(zé)決定顯示哪個(gè)View
View層同樣提供抽象接口则剃,方便解耦,同時(shí)方便測(cè)試用例測(cè)試View的impl實(shí)現(xiàn)交互代碼
這時(shí)候?qū)慤I和邏輯的人可以完全分工如捅,他們通過(guò)接口對(duì)接 棍现,Presenter的角色更像是一個(gè)設(shè)計(jì)模式的適配器類,負(fù)責(zé)對(duì)接UI與數(shù)據(jù)邏輯