Android MVP与MVC

Android MVP

View是一个接口,负责被动的把处理好的数据显示出来

Model也是一个接口,负责获取数据和存储数据

View调用Presenter处理用户事件也是一个接口,称为事件Delegate

Presenter持有的是View的接口和Model接口

View不直接与Model交互,而是通过与Presenter交互来与Model间接交互

Presenter与View的交互是通过接口来进行的

通常View与Presenter是一对一的,但复杂的View可能绑定多个Presenter来处理逻辑

MVC架构

View可以与Model直接交互

Controller是基于行为的,并且可以被多个View共享

可以负责决定显示哪个View

View层同样提供抽象接口,方便解耦,同时方便测试用例测试View的impl实现交互代码

这时候写UI和逻辑的人可以完全分工,他们通过接口对接 ,Presenter的角色更像是一个设计模式的适配器类,负责对接UI与数据逻辑

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容