为了账号安全,请及时绑定邮箱和手机立即绑定

观察者模式

GerryZhang JAVA开发工程师
难度中级
时长 1小时56分
学习人数
综合评分9.53
113人评价 查看评价
9.7 内容实用
9.6 简洁易懂
9.3 逻辑清晰
不错。很好理解
貌似Android的Rxjava框架就是这种模式
雨夹雪,怎么破!哈哈哈
观察者的一些变量,可以通过构造方法来初始化,感觉简单点、代码量更少一些
hao..........
好,判断天气情况,来决定是否来调用 具体观察者的Update 方法!
观察者模式 触发联动

当一个抽象模型有两个方面,其中一个方面的操作依赖于另一个方面的状态变化

如果在更改一个对象的时候,需要同时连带改变其他的对象,而且不知道究竟应该 有多少对象需要被连带改变

当一个对象必须通知其他的对象,但是你又希望这个对象和其他的被通知的对象是松散耦合的
讲的不很不错哦!
Hello 大家好 我是盖瑞 朋友们我们又见面了...
this.notifyObserver() 和this.notifyObserver(Object objec) 方法应该测试一下,看看之间有无调用关系
推模式,是假定目标对象知道观察者需要的数据! 所以发送数据!
而;拉模型,只是传一个引用,引用中get 的数据属性假如有很多的话! 不同的观察者,需要的数据不同,用引用来,调取数据,这样比较灵活!
观察者对象 的状态是依赖于 目标对象的
黄明和他的女朋友
其实核心就是那个set方法,set方法改变了自己(观察者)的值的同时,也修改了多个对象(被观察者)的值,从而保持了一个对象的值改变时所有“依赖于”它的对象都得到了通知

public setXXX(Object XXX){
//自己改变
this.XXX=XXX;
//通知其他对象
notify(xxx);

}
说的太复杂了,感觉没有把观察者模式的本质讲解明白。至于推模型和拉模型的区别,解释的也比较生硬。其实在传统的观察者模式中,全都属于推模式。拉模式应该是在观察者一段存在一个轮训,然后每隔一段时间就向观察对象回调一次数据。有变化就更新自己的状态,没有变化就继续轮训。
课程须知
学习本课程前,需要具备Java基础,面向对象的程序设计思想。如果对这些知识不熟悉,可以学习《Java入门第一季》和《Java入门第二季》这两门课程。
老师告诉你能学到什么?
1、理解观察者模式的概念和结构 2、掌握如何将观察者模式应用到项目中,解决项目实际问题 3、掌握观察者模式的应用场景

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消