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层存储和获取数据。
深入理解MVP架构在APP开发中的应用

本文探讨了MVP(Model-View-Presenter)架构在APP开发中的实践,强调View不直接与Model交互,而是通过Presenter作为桥梁。介绍了在复杂的UI场景下,如何使用Adapter增强灵活性,并保持View和Presenter接口的简洁。Presenter负责业务逻辑,从Model检索数据并更新View,而Model则专注于数据存取,实现View和Model的解耦。
369

被折叠的 条评论
为什么被折叠?



