项目中从最初的MVC架构演变为MVVM架构,本文主要通过Google推出的官方实例,学习MVP架构。
MVP/MVC对比

MVP架构:
View不直接与Model交互,而是通过与Presenter交互来与Model间接交互。
Presenter与View的交互是通过接口来进行的。
通常View与Presenter是一对一的,但复杂的View可能绑定多个Presenter来处理逻辑。
MVC架构:
View可以与Model直接交互。
Controller是基于行为的,并且可以被多个View共享。
可以负责决定显示哪个View。
MVP架构优点
界面和逻辑业务通过接口关联,将业务实现细节隐藏,如此一来,当我们将交互之间的接口定义好之后,内部的实现细节修改,保证模块独立性。
缺点
正是因为使用了接口来解耦模块之间的关联,因此会出现接口类增加,可以适当的使用MVP模式,在一些很简单的逻辑业务里面,可以不采用MVP。
MVVM
Google推出data-binding后,实现了View层和model层的双向绑定.
待完成
Google MVP代码解析
源码
Google以“待办事项”的功能为模型, 展示了MVP架构,这里我们以最简单的“todo-mvp”分支为例。
待完成
网友评论