前言
之前學習了一些別人寫的MVP模式的寫法,按照自己的理解,在項目中使用,感覺自己寫得很爛
JM}XGZZHSVZ{)OW`8TN1ZU1.png
原來的寫法是:P層寫了一個接口,一個實現類,V層寫了一個接口,activity實現V層的接口做UI處理(在P層實現類中調用V層接口,最后調用的是Activity的實現方法);
今天看了google的mvp寫法:
mvp.png
相對比,多了一個Contract類
契約內部有2個接口,分別繼承了BaseView和BasePresenter,View和Presenter中實現的方法分別是UI操作,和數據業務邏輯操作,此時是不是看的異常的清晰。
多了一個契約類,契約內部包含了2個接口,一個是Presenter一個是View,就相當于之前的寫法中的接口IView和普通類Presenter,只不過現在都將這兩個類所需要的業務和UI層的接口直接放在一起展現出來,變得很清晰。
參考demo地址:https://gitlab.com/yubaokang/mvpdemo_google