Android MVC-MVP-MVVM

先设计项目的技术框架,再写第一行代码。

引言
  • 模块功能化(高内聚、低耦合)
  • 提高开发效率(分工明确、业务聚焦)
  • 提高测试效率(方便测试、问题定位)

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:代码逻辑非常简洁,但是学习成本较大

小编的博客系列

Android 软件架构 全家桶

优秀博客推荐

MVC、MVP、MVVM的区别和联系(精讲版)
MVC、MVP、MVVM,我到底该怎么选?
这是一份全面 & 清晰的架构设计指南:MVC、MVP & MVVM模式(含实例讲解)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容