MVP
Presenter是一个中介,完全隔离了View和Model, Activity 相当于 View, View可以完全不关心Model,
View层和Presenter可以通过外观模式进行解耦
例子
定义接口
1. 明确P层与 View Model的需求
Presenter, 实现契约接口
1.接收View层的指令,完成某个需求
2.将完成任务的结果通知View
Model层, 实现定义的M等接口
1.具体的功能实现
2.将执行结果传递给P层
View层
1.接收用户发起的请求
2.调用P层执行任务
3.P层返回结果后,UI显示
总结:
1.View层, 即Activity 接收用户请求,
2.View不执行具体任务,而是交个P层完成
3.P层收到V的请求后,可以自己做,也可以让Model层做
4.Model执行任务
5.M层把执行结果告诉P层
6.P层告诉View层执行结果