interactor與presenter的關係

presenter的任務

presenter在mvp中是一個粘合劑的作用,將view和model結合起來。
它調度了UI邏輯和數據邏輯,然而UI邏輯和數據邏輯的具體實現,Presenter是不用關心的,只需要處理好如何調度,和狀態處理即可。
理解這個之前,你需要理解Model 和 ViewModel,一個Model也就是我們平常說的JavaBean,例如一個User類,它有自己的基本屬性。
而ViewModel代表的是視圖的Model,例如一個登陸視圖,它的ViewModel包含用戶名,密碼。
所以Model是不能直接被視圖使用的,我們需要轉換成ViewModel的形式,然後綁定到視圖上。
你可能會說,我也可以直接綁定Model的屬性到View上,但是這樣View和Model就不是相互獨立的了,也就違背了我們使用MVP初衷。

interactor的任務

Interactor的作用實際上就是獲取Model(從本地數據庫,或者是服務器),
轉換成ViewModel,回調通知把ViewModel傳遞給Presenter。

interactor和presenter的關係

Presenter實現了Interactor的回調接口或者得到實現了interactor的實現類的實例對象,
presenter可以接收到ViewModel的實例,此時它在回調函數裏面只需要將接收到的ViewModel綁定的View上面即可。
可以看到,在這個過程中Presenter並沒有觸及到具體的實現,
只是把View 和 ViewModel進行了綁定而已。

給上我的一個mvp架構的視圖
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章