前言:因为公司氛围没有用,一直很火的mvp模式像鬼一样听说过没见过,今天闲来无事了解一下,发现由普通的MVC改起来还是挺行云流水的,但像有些弹窗不知道写在P层还是V层
关于MVP的概念我就不详细说了,记住关键的一点就是将view与逻辑分离
在谷歌推荐写法下,M层被弱化,数据处理放在了P层
####1.定义一个P接口
1 | public interface BasePresenter { |
####2.定义一个V接口
1 | public interface BaseView<P extends BasePresenter> { |
####3.定义一个合约类管理上述两个接口,Presenter用于定义界面的逻辑与数据,View 用于定义对应的界面显示
1 | public class DateRecordContract { |
####4.定义一个P层实现类,最好放在上面的接口同一个包下
1 | public class DateRecordPresenterImpl implements DateRecordContract.Presenter { |
####5.定义一个View实现类,根据回调显示UI
1 | public class MainActivity extends AppCompatActivity implements DateRecordContract.View { |
以上就是简单的MVP入门,哪里出问题了直接在合约类查看,还是挺方便,也可以把MainActivity改为Fragment实现View,有些疑问是不知道把Dialog放在哪,目前还是放在了Activity中
2018年9月5日08:02:16