前言
之前學(xué)習(xí)了一些別人寫的MVP模式的寫法子房,按照自己的理解狭莱,在項(xiàng)目中使用,感覺自己寫得很爛
JM}XGZZHSVZ{)OW`8TN1ZU1.png
原來的寫法是:P層寫了一個(gè)接口皆愉,一個(gè)實(shí)現(xiàn)類揖曾,V層寫了一個(gè)接口,activity實(shí)現(xiàn)V層的接口做UI處理(在P層實(shí)現(xiàn)類中調(diào)用V層接口亥啦,最后調(diào)用的是Activity的實(shí)現(xiàn)方法);
今天看了google的mvp寫法:
mvp.png
相對(duì)比练链,多了一個(gè)Contract類
契約內(nèi)部有2個(gè)接口翔脱,分別繼承了BaseView和BasePresenter,View和Presenter中實(shí)現(xiàn)的方法分別是UI操作媒鼓,和數(shù)據(jù)業(yè)務(wù)邏輯操作届吁,此時(shí)是不是看的異常的清晰错妖。
多了一個(gè)契約類,契約內(nèi)部包含了2個(gè)接口疚沐,一個(gè)是Presenter一個(gè)是View暂氯,就相當(dāng)于之前的寫法中的接口IView和普通類Presenter,只不過現(xiàn)在都將這兩個(gè)類所需要的業(yè)務(wù)和UI層的接口直接放在一起展現(xiàn)出來亮蛔,變得很清晰痴施。
參考demo地址:https://gitlab.com/yubaokang/mvpdemo_google