MVC,MVP,MVVM设计模式的比较

1. MVC设计模式

1.1 概述

mvc

意义 说明
M Model,表示模型层,数据模型或业务模型,就是我们要显示给用户查看的内容
V View,表示视图层,就是用户直接看到的界面,例如:Activity,Fragment,自定义View,还有XML布局文件
C Controler,表示控制层,用于模型和视图间切换数据,对应于Activity业务逻辑,数据处理和UI处理

而J2EE中的MVC分别表示:

  • M:javabean
  • V:jsp
  • C:servlet

三角关系的问题就是维护问题。在MVC,当你有变化的时候你需要同时维护三个对象和三个交互,这显然让事情复杂化了

Android中经常会出现数千行的Activity代码,究其原因,Android中纯粹作为View的各个XML视图功能太弱,Activity基本上都是View和Controller的合体,既要负责视图的显示又要加入控制逻辑,承担的功能过多,代码量大也就不足为奇。所以更贴切的目前常规的开发说应该是View-Model 模式,大部分都是通过Activity的协调,连接,和处理逻辑的

Activity中存在两部分内容:业务相关和界面相关,V中的内容较少,而C中的内容较多
解决方案:将Activity中的业务部分拆分—-MVP,将Activity中的界面部分拆分—-MVVM

1.2 案例分析

Android中的ListView就用到了MVC设计模式

  • M:数据的集合,List
  • V:ListView
  • C:Adapter,控制数据如何显示在ListView上

而Activity控制层和视图层都有

2. MVP设计模式

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值