定义:
M层:模型层(Model),此层和MVC中的M层作用类似.
V层:视图层(View),在MVC中V层只包含XML文件,而MVP中V层包含XML,Activity和Fragment三者.理论上V层不涉及任何逻辑,只负责界面的改变,尽量把逻辑处理放到M层.
P层:通知层(Presenter),P层的主要作用就是连接V层和M层,起到一个通知传递数据的作用
要点:
BasePresenter<V extends IView> implements IPresenter<V>:基类 ,元素 V(指Activity)须实现IVIew接口,
此类的实现类作为成员对象定义在Activity里使用
IPresenter<V>:增加、删除 View
IModel:用来与数据层交互的回调函数接口
IView:用来与Activity交互的回调函数接口
LoginContract复制代码
1 抽象类BasePresenetr<V extends IView>中引用wakereferenec 管理对view的引用,防止泄露,也可以获取对view的是否销毁状态,IView可以定义在Activity对P层监听状态
2 IPresenter<V>定义添加或删除view的接口,在BasePreseneter实现具体规范
3 LoginCantract 契约类 ,将IModel,IView的回调函数定义在一个类里 ,归类,一目了然