一 什么是MVP?
MVP 全称:Model-View-Presenter ;MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。
Model:
数据层,和MVC中的M一样,用来放数据的处理(比如网络请求,缓存等)。
View:
负责UI具体实现展现。比如Presenter派发过来一个动作是showDialog显示进度命令,那么我们这个View就负责实现具体UI。
Presenter:
负责处理业务逻辑代码,处理Model数据,然后将处理完的数据分发到View层。
二 MVP与MVC的根本区别
MVP与MVC最大的区别就在与将Model和View通过Presenter隔开了,不再允许其互相直接通信,而所有的消息都是通过Presenter这个中间人来传递。
而这样做的目的主要是为了将数据和展示划出更明确的界限。
三 MVP的优点
- 代码解耦
- 结构清晰
- 可复用
- 扩展性高
- 方便进行单元测试