APP开发实战49-MVP架构

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

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层存储和获取数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值