对Android系统架构的理解(从mvc到mvp到组件化)
1. 为什么要进行架构设计
- 高内聚,低耦合
- 内聚关注模块内部的元素结合程度,耦合关注模块之间的依赖程度
2.MVC - MVP - MVVM(Data Binding)
MVC:
MVP:
-
MVVM:
-
对应的代码分包
-
mvc:
-
mvp:
-
组件化:
-
3. 以MVP模式为主进行总结
- 1.降低耦合,简洁Activity代码(只处理生命周期任务)
- 2.视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中去,提高代码的可阅读性
- 3.模块职责划分明显,提高复用性
- 4.把业务逻辑抽到Presenter中去,避免后台线程引用着Activity导致Activity的资源无法被系统回收从而引起内存泄露和OOM
- 5.Presenter被抽象成接口,可以有多种具体的实现,所以方便进行单元测试