Android MVP架构(1)概念介绍

Android常见的架构模式主要有以下三种:MVC、MVP、MVVM

其中,MVP以其优良的解耦以及模型与视图完全分离的特性,被最为广泛的应用。

MVP(Model-View-Presenter)是MVC的改良模式,和MVC的相同之处在于:
Controller/Presenter负责业务逻辑,Model管理数据,View负责显示只不过是将 Controller 改名为 Presenter,
同时改变了通信方向

MVP架构如下图所示。

由上图可以看出,MVP具有如下特点:

  1. M、V、P之间双向通信。
  2. View 与 Model 不通信,都通过 Presenter 传递。Presenter完全把Model和View进行了分离,主要的程序逻辑在Presenter里实现。
  3. View 非常薄,不部署任何业务逻辑,称为“被动视图”(Passive View),即没有任何主动性,而 Presenter非常厚,所有逻辑都部署在那里。
  4. Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View时候可以保持Presenter的不变。
  5. 可以编写测试用的View,模拟用户的各种操作,从而实现对Presenter的测试–从而不需要使用自动化的测试工具。

 

       上述特点回归到Android里面,其实就很容易发现,View主要由Activity进行实现。而我们需要设计的是Model和Presenter, 进行网络请求以及数据处理。此时的程序逻辑就将与Activity完全解耦,View只需要将可能出现的结果用接口进行抽象,在Activity对回调结果进行处理即可。在下一篇博客中,将会使用接口解耦以及注解的方式实现一个自定义的MVP框架。

Android MVP架构(2)使用注解实现一个MVP框架

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章