安卓开发系列 之MVC模式

MVC 模式代表 Model-View-Controller(模型-视图-控制器)模式。这种模式用于应用程序的分层开发。
Model(模型) —模型代表一个存取数据的对象,数据来源可以是程序中定义的数组,也可以是数据库中的数据;
View(视图) —视图代表模型包含的数据的可视化;
Controller(控制器) —控制器作用于模型和视图,使得Model和View分开,控制数据流向模型对象,并在数据变化时更新视图。

安卓中的MVC的关系如下图:
其中:C和V/M可以直接访问,V和C、M和C可以间接访问,V和M之间不可以访问;
C中的Activity可以通过findViewByID找到View控件的引用,Activity持有数组或者数据库的引用;
V通过监听者模式通知C,C作为点击事件的监听者(ClickListener)实现onClick()方法决定具体动作;
M通过观察者模式通知C,C作为DataSetObserver实现onChanged()方法决定具体动作。
在这里插入图片描述
监听者模式:
事件源经过事件的封装传给监听器,当事件源触发事件后,监听器接收到事件对象可以回调事件的方法。如安卓中的应用,C层是V层中点击事件的监听者,一旦监听到V层中有点击事件即执行onClick()方法中的具体动作。

观察者模式:
观察者(Observer)相当于事件监听者,被观察者(Observable)相当于事件源和事件,执行逻辑时通知observer即可触发oberver的update,同时可传被观察者和参数。如安卓中的应用,C层是M层的观察者,一旦发现被观察者M层有数据源的改变,即执行onChanged()方法中的具体动作。

直白理解:~~~暂且这样理解吧,其实两者的机制差不多的。
监听者模式监听特定事件,当有事件(如鼠标点击等)发生时会执行相应的动作;观察者模式关注变化,当被观察者发生某种变化时观察者会执行相应的动作。

参考资料:
https://www.icourse163.org/learn/BFU-1205989803?tid=1450759471&from=study#/learn/content 移动开发技术MOOC课程
https://www.cnblogs.com/jackson-yqj/p/7784694.html 设计模式之监听模式(观察者模式与监听模式区别)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值