1、
创建一个interface IMVPModel 里面创建三个方法,分别是获取数据、数据获取成功、数据获取失败
MVPAvtivity implements IMVPModel,并实现这三个方法,完成其中的逻辑处理
2、
创建MVPModel
他需要获取接口中的数据
3、
创建一个MVPPresenter,持有view层和Model层的引用
4、MVPActivity中创建一个presenter的实例
prenster中实现一个获取数据的方法getData(),在实际操作时,Activity中presenter.getData()
MVP示例图
1、定义V层,Activity实现IMVPView接口。
2、定义M层,实现数据查询。
3、定义P层,业务数据逻辑处理,作为中间层还负责与V、M层数据通信则需要持有View接口和Model对象。
使用MVP实现
mvp模型
mvp模型
move and view doesn't communicate directly
MVP模式代码结构图。
1、V层 负责提供View层面的功能(采用实现接口的方式,提供给P层),也就是Activity、Fragment提供并实现一个视图接口IMVView,提供给Presenter
2、M层 负责提供数据方面的功能, M层与View层是不直接通信的
3、P层 因Model与View不再之间通信,P层来进行V与M互相通信,所以P层需要持有M层和V层的引用 , 在presenter中view的初始化通过构造函数, model直接创建新对象
使用MVP实现需求,
Activity持有presenter引用,Persenter持有 View Model引用
MVP结构图