谈MVP对比,也谈MVP优化

作者: 黄油伯伯 | 来源:发表于2017-11-23 23:35 被阅读168次
前言

MVC
MVP

MVP 是从经典的模式MVC演变而来。Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。
下面我们从:区别、解决了什么关键问题、缺点来再论MVP。

MVC和MVP的区别?

在MVP中View并不直接使用Model,它们之间的通信是通过Presenter来进行的,所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。
简单一句话来说:MVP把View跟Model隔离了。

MVP解决了MVC哪些问题?

1.隔离了View和Model,彼此访问都通过接口,强化了面向接口编程。
2.由于M、V、P三层都隔离了,彼此改变都相对独立,无需“牵一发,动全身”,并且P层可以独立重用。
3.单元测试优势:P层可以模拟处理逻辑。
4.更有利于“先定义(接口),再实现”(先想好,再动手)的做事方式。
5.低耦合的方式,更有利于插件化的开发(固件升级概念)。
6.(欢迎补充,哈哈)。

MVP缺点

1.写法繁琐,每个模块下的MVP每一层都要开放接口
2.致命缺陷,Activity的生命周期会让MVP的接口调用出现泄漏问题

小结

关于缺点的建议:1.写一个MVP分层生成插件 2.利用项目基类Activity的生命周期进行Presenter的添加与释放(不优化此问题你就等着crash吧)


相关文章

  • 谈MVP对比,也谈MVP优化

    前言 MVP 是从经典的模式MVC演变而来。Controller/Presenter负责逻辑的处理,Model提供...

  • 也谈MVP

    Most Valuable Player ? lol,你以为你猜对了吗?其实这里的MVP指的是一种软件设计模式,M...

  • 设计模式笔记01——设计原则

    说明:有人私底下问我MVP并不是BaseActivity,其实我想说的是本文并不是谈MVP,至于本文提到的MVP初...

  • 我的产品笔记:MVP设计

    先来谈一下最近几年非常流行的概念: MVP 。 本文大纲:1. 什么是MVP?2. MVP思维的核心方法是什么?3...

  • MVP系列-第2讲-MVP改进

    MVP系列-第2讲-MVP改进 注意:针对于我们之前学习的内容,其实存在很多优化地方,今天我们就来学习MVP优化,...

  • MVP设计模式在安卓编程中的应用

    ​大家好,这一期呢,我们来谈一下MVP设计模式在安卓编程中的应用。 Mvp就是model view present...

  • MVP设计模式-浅析,让你可以简单使用

    1.咱们这里谈mvp开发模式咱们就直说mvp开发模式,关于它和其它开发模式的区别咱们这边就不累述了,下面进入正题。...

  • MVP设计模式和基本的模板

    MVP设计模式和基本的模板 这个是我的项目结构 对比于MVC模式,MVP无疑更适合Android的开发,MVP在层...

  • 从代码出发了解MVP

    摘要 以登录为例子,对比使用MVP与不使用的区别。 不使用MVP,模拟登录场景 使用MVP,模拟登录场景 定义Mo...

  • MVP系列文章(五)- 泛型擦除

    前言 MVP系列文章MVP系列文章(一) - MVC 与 MVPMVP系列文章(二) - 优化attach()、d...

网友评论

本文标题:谈MVP对比,也谈MVP优化

本文链接:https://www.haomeiwen.com/subject/nuitbxtx.html