Android开发中架构模式--MVC/MVP/MVVM
目录
共同点
架构将整个项目分为 三个模块
- 视图层 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)!