APP开发实战49-MVP架构

14.2MVP架构

MVP(Model-View-Presenter,模型-视图-表示器),在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部。

如果要实现的UI比较复杂,而且相关的显示逻辑还跟Model有关系,就可以在View和Presenter之间放置一个Adapter。由这个 Adapter来访问Model和View,避免两者之间的关联。而同时,因为Adapter实现了View的接口,从而可以保证与Presenter之间接口的不变。这样就可以保证View和Presenter之间接口的简洁,又不失去UI的灵活性。

在MVP模式里,View只应该有简单的Set/Get的方法,用户输入和设置界面显示的内容,除此就不应该有更多的内容,绝不容许直接访问Model —— 这就是与MVC很大的不同之处。

(1)表示器

Presenter主要作为沟通View和Model的桥梁,它从Model层检索数据后,返回给View层,使得View和Model间没有耦合,也将业务逻辑从View层抽离出来。

(2)视图

View通常是指Activity、Fragmetn或某个View控件,它含有一个Presenter成员变量。通常View需要实现一个逻辑接口,将View上的操作转给Presenter实现,最后,Presenter调用View逻辑接口将结果返回给View元素。

(3)模型

Model主要提供数据的存取功能,Presenter通过Model层存储和获取数据。

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

推荐阅读更多精彩内容