对Android系统架构的理解(从mvc到mvp到组件化)

1. 为什么要进行架构设计

  • 高内聚,低耦合
    • 内聚关注模块内部的元素结合程度,耦合关注模块之间的依赖程度

2.MVC - MVP - MVVM(Data Binding)

  • MVC:
    对Android系统架构的理解(从mvc到mvp到组件化)

  • MVP:
    对Android系统架构的理解(从mvc到mvp到组件化)

  • MVVM:

    对Android系统架构的理解(从mvc到mvp到组件化)

  • 对应的代码分包

    • mvc:

      对Android系统架构的理解(从mvc到mvp到组件化)

    • mvp:

      对Android系统架构的理解(从mvc到mvp到组件化)

    • 组件化:

      对Android系统架构的理解(从mvc到mvp到组件化)

3. 以MVP模式为主进行总结

  • 1.降低耦合,简洁Activity代码(只处理生命周期任务)
  • 2.视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中去,提高代码的可阅读性
  • 3.模块职责划分明显,提高复用性
  • 4.把业务逻辑抽到Presenter中去,避免后台线程引用着Activity导致Activity的资源无法被系统回收从而引起内存泄露和OOM
  • 5.Presenter被抽象成接口,可以有多种具体的实现,所以方便进行单元测试