文档开发者中心
我的

【综合】Android学习笔记:框架模式

一、MVC模式

MVC(Model-View-Controller,模型-视图-控制器)采用业务逻辑、数据、界面显示分离的方法组织代码,在更新界面或用户交互时,不需要重新编写业务逻辑。


模型层(Model):业务模型。

视图层(View):界面描述。

控制层(Controller):控制业务。

缺点:View层和Model层相互耦合,不易开发和维护。


二、MVP模式

MVP(Model-View-Presenter)是MVC的演化版本。在MVP中,Presenter完全将Model和View进行了分离,主要程序逻辑在Presenter里实现。而且,Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View时可以保持Presenter的不变,符合面向接口编程的特点。


Model:数据存取。Presenter通过Model层来存储、获取数据。

View:事件/视图展示。

Presenter:从Model层检索数据后返回给View层,使得View和Model之间没有耦合。

特点:绝不允许View直接访问Model。Presenter就是一个中间人的角色,通过Model层来获得和保存数据,然后再通过View更新界面,在这个过程中,通过定义接口,使得View和Model没有任何交互。


三、MVVM模式

MVVM(Model-View-ViewModel)和MVP类似,只是将Presenter改为ViewModel,而且ViewHolder和Model、View进行双向绑定。当View发生改变时,ViewModel通知Model进行更新数据;当Model数据更新后,ViewModel通知View更新。




点赞
收藏
回复
10
分享
举报
浏览1443 发布于2019-11-06 01:43未知归属地
全部评论
最多点赞
最新发布
最早发布

点击查看:Android学习笔记:广播(Broadcast)

10楼回复于2019-11-06 02:16 未知归属地

点击查看:Android学习笔记:服务(Service)

9楼回复于2019-11-06 02:15 未知归属地

点击查看:Android学习笔记:Volley

8楼回复于2019-11-06 02:15 未知归属地

点击查看:Android学习笔记:Handler

7楼回复于2019-11-06 02:15 未知归属地

点击查看:Android学习笔记:活动(Activity)

6楼回复于2019-11-06 02:15 未知归属地

点击查看:Android学习笔记:SharedPreferences

5楼回复于2019-11-06 02:15 未知归属地

点击查看:Android学习笔记:AsyncTask

4楼回复于2019-11-06 02:14 未知归属地


点击查看:Android学习笔记:EventBus和otto



3楼编辑于2019-11-05 18:12 未知归属地

点击查看:Android学习笔记:ButterKnife插件

2楼回复于2019-11-06 02:06 未知归属地

点击查看:Android学习笔记:WebView

1楼回复于2019-11-06 02:06 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。