Bootstrap

一文带你全面了解MVC、MVP、MVVM模式(实例讲解)

前言

  • Android开发中,当你梳理完需求后,你要做的并不是马上写下你的第一行代码,而是需先设计好整个项目的技术框架
  • 今天,我将全面介绍Android开发中主流的技术框架MVCMVPMVVM模式,并实例讲解MVP模式,希望您们会喜欢。

目录

 

 


1. 为什么要进行技术框架的设计

  • 模块化功能
    使得程序模块化,即:内部的高聚合模块之间的低耦合
  • 提高开发效率
    开发人员只需专注于某一点(视图显示、业务逻辑 / 数据处理)
  • 提高测试效率
    方便后续的测试 & 定位问题

切记:不要为了设计而设计,否则反而会提高开发量

 

2. Android开发主流的技术框架

  • 主要有MVCMVPMVVM 3种模式
  • 下面,我将详细 & 具体的介绍上述3种模式

2.1 MVC模式

  • 角色说明

示意图

  • 模式说明

示意图

  • 该模式存在的问题:Activity责任不明、十分臃肿
    Activity由于其生命周期的功能,除了担任View层的部分职责(加载应用的布局、接受用户操作),还要承担Controller层的职责(业务逻辑的处理)
    随着界面的增多 & 逻辑复杂度提高,Activity类的代码量不断增加,越加臃肿

2.2 MVP模式

  • 出现的原因
    为了解决上述MVC模式存在的问题,把分离Activity中的View层 和 Controller层的职责,从而对Activity代码量进行优化、瘦身,所以出现了MVP模式

  • 角色说明

示意图

  • 模式说明

示意图

  • 优点:(对比MVC模式)
  1. 耦合度更低:通过Presenter实现数据和视图之间的交互,完全隔离了View层与Mode层,二者互不干涉

避免了ViewModel的直接联系,又通过Presenter

;