框架根本的原因也是为了尽量低的耦合性和尽量高的可复用性。
选择恐惧症的福音!教你认清MVC,MVP和MVVM
1. MVC
![](https://img.haomeiwen.com/i1054828/35aeedae8b76fabe.png)
优点:现实层V和领域层M分离
缺点:view层和model层是相互可知的,这意味着两层之间存在耦合,耦合对于一个大型程序来说是非常致命的,因为这表示开发,测试,维护都需要花大量的精力。
2. MVP
优点:
- View和Model之间的耦合度降低,使其更关注自身业务逻辑,结构清晰,维护方便;
- 便于单元测试;
- 代码复用率提高;
- 代码框架更适用于快速迭代开发;
缺点
-
每个view都有presenter ,类相对比较多
Paste_Image.png
3. MVVM
优点:
- data binding框架解决了数据绑定的问题
-
使用ViewModel和UI无缝结合, ViewModel直接就能代表UI.
Paste_Image.png
![](https://img.haomeiwen.com/i1054828/31a43049cb04665a.png)
4. FLUX
![](https://img.haomeiwen.com/i1054828/e946d8c2ed3bf0f5.png)
特点:单向数据流
ActionCreator负责的是数据的准备和预处理
AndroidFlux项目一览-Flux架构的Android移植
网友评论