先设计项目的技术框架,再写第一行代码。
引言
- 模块功能化(高内聚、低耦合)
- 提高开发效率(分工明确、业务聚焦)
- 提高测试效率(方便测试、问题定位)
MVC
MVP
MVVM
总结
设计初衷
- MVC:为解决程序模块化问题。将业务逻辑、数据处理与界面显示进行分离来组织代码,即分成M、V、C层
- MVP:MVC中的M、V层还是有相互交叉、隔离度不够,同时写到Activity上使得Activity代码臃肿。MVP隔离了MVC中的 M 与 V 的直接联系,将M、V层更加隔离开来,并释放了Activity的压力
- MVVM:为了更加分离M、V层,更加释放Activity的压力。使得V和M层之间的耦合程度进一步降低,分离更为彻底,同时更加减轻了Activity的压力。
宏观概览
- MVC:学习简单但是解耦不够彻底
- MVP:解耦更加彻底,学习起来也相对比较简单,但是代码相对比较繁琐
- MVVM:代码逻辑非常简洁,但是学习成本较大
小编的博客系列
优秀博客推荐
MVC、MVP、MVVM的区别和联系(精讲版)
MVC、MVP、MVVM,我到底该怎么选?
这是一份全面 & 清晰的架构设计指南:MVC、MVP & MVVM模式(含实例讲解)