MVP 架构模式有效解决了传统 Android 开发中 Activity 任务过于繁重,数据层与视图层耦合紧密的问题。

MVP 架构核心

MVP 模式将应用划分为三个清晰的层次,分别负责不同的功能:

  • View 层: 由 Activity 和 Fragment 组成,专注于 UI 逻辑和用户交互处理,例如展示数据、响应用户操作等。
  • Presenter 层: 负责处理业务逻辑,包括调用 Model 层获取数据、处理数据逻辑、调用 View 层展示结果等。
  • Model 层: 负责数据相关的操作,例如网络请求、数据存储和读取等。在使用 Retrofit、RESTful 等框架时,Model 层可以根据实际情况进行简化。

交互流程

MVP 模式中,各层级之间遵循单向依赖原则,调用顺序为 View -> Presenter -> Model,反向调用和跨级调用都是不允许的,保证了代码结构的清晰性和可维护性。

优缺点

优点:

  • 提高代码可测试性
  • 降低视图层和业务逻辑层之间的耦合度,便于代码维护和扩展

缺点:

  • 相较于传统模式,MVP 模式会增加一定的代码量