自学内容网 自学内容网

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困难


原文地址:https://blog.csdn.net/m0_74837900/article/details/140384285

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!