Android开发中架构模式--MVC/MVP/MVVM

目录

共同点

不同点

1、MVC

箭头指向(数据流向)

​编辑

优点

缺点

2、MVP

箭头指向(数据流向)

​编辑

优点

缺点

3、MVVM

箭头指向(数据流向)

​编辑

补充在XML文件中设置

补充在APP模块的gradle文件添加数据双向绑定框架

优点

缺点


共同点

架构将整个项目分为 三个模块

  • 视图层 View :UI界面更新和用户交互响应
  • 数据层 Model:数据的获取,处理,存储
  • 业务层:在数据层和视图层之间处理业务逻辑

不同点

1、MVC

箭头指向(数据流向)

实际操作解释:

View中调用Controller中的方法,把方法具体操作逻辑交给Controller实现

Controller中调用Model中的方法,把数据传给Model,让Model去处理数据

Model中调用View中的方法,把数据处理结果,由方法调用来更新UI界面

优点

  • 结构清晰,职责模块化
  • 降低耦合
  • 利于组件重用

缺点

三个模块强耦合,不利于业务需求变更和代码维护工作

Activity/Fragment会承担View和Controller两个角色,比较臃肿

2、MVP

箭头指向(数据流向)

View中调用Presenter中方法处理业务逻辑

Model中方法会有返回值

Presenter中调用Model中方法,获取处理后的返回值

                   调用View中方法,更新UI界面及数据

优点

实现Model和View的解耦

缺点

  • 多接口,项目文件数量多
  • 代码结构复杂

3、MVVM

箭头指向(数据流向)

View中调用ViewModel中的方法处理业务逻辑

XML文件中将绑定属性用"@={      }"赋值

ViewModel中调用Model中方法,让Model处理数据

Model中方法会有返回值

补充在XML文件中设置

补充在APP模块的gradle文件添加数据双向绑定框架

优点

模块间充分解耦(View和ViewModel也进行了解耦)

缺点

  • 代码复杂
  • Debug困难

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值