MVP架构模式
一、简介
概述:MVP 全称 Model View Presenter。MVP模式可以分离显示层和逻辑层。它们之间通过接口进行通信,降低耦合。理想化的MVP模式可以实现同一份逻辑代码搭配不同的显示界面,因为它们之间并不依赖于具体,而是依赖于抽象。这就带来了良好的可扩展性、可测试性,保证了系统的整洁性、灵活性。
MVP模式的三个角色:
1.Presenter–交互中间人
Presenter从Model层检索数据后,返回给View层,是的View和Model之间没有耦合,也将业务逻辑从View角色上抽离出来。
2.View–用户界面
View通常是指Activity、Fragment或者某个View控件,它含有一个Presenter的实例。通常View需要实现一个逻辑接口,View上的操作通过Presenter的成员变量转交Presenter进行实现,最后,Presenter调用View的逻辑接口将结果返回给View。
3.Model–数据处理
Model角色主要是提供数据的处理功能。Presenter通过Model层存储、获取数据。说白了,Model就是封装了数据库或者网络数据的角色,或者两种数据获取方式的集合。
MVP结构图:
二、MVP的简单例子
我们来自己写个小例子,以Login为例,View发起login请求