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

观察者模式

GerryZhang JAVA开发工程师
难度中级
时长 1小时56分
学习人数
综合评分9.53
113人评价 查看评价
9.7 内容实用
9.6 简洁易懂
9.3 逻辑清晰
notifyObserver() 方法内部调用notifyObserver(null) ;
执行update的时候 会把changed重置为false,这样每次update之前其实都需要调用setChanged重新开启
Observer接口定义多一个方法 boolean isInterest(Subject subject),根据目标对象判断是否感兴趣。在Subject抽象类中的notifyObservers方法里,就可以循环判断每个观察者是否感兴趣,感兴趣才调用update方法:
for (Observer o : observers) {
if (o.isInterest(this)) {
o.update(this);
}
}
代码:http://suo.im/3OaZgm

已采纳回答 / aviyy
因为借口定义中会将Observable实现类的引用和推得具体消息都传过去,所以可以推可以拉,但是如果用notifyObservers()的话,没有具体消息了,就只能拿引用去拉了。
缺少使用场景的举例,比如spring、dubbo哪里用到观察者模式了。这样才完美。
这样的代码设计很烂吧,应该设置成观察者订阅天气,而不是目标随观察者变化。看着这样的代码,心累
不错,要与实际结合,才可行
讲的很深入,很实用,比较优缺点很详尽。推拉模型,已经jdk中包实现的过程。大赞a~~
梁海源······
我觉得大家应该学会感恩,不要过于纠结这些声音什么之类的问题。。。免费分享的教程,太多抱怨,是对别人不尊重!
ctrl+shift+o 别一个一个导包了,看着累
更好的做法是将感兴趣的天气信息放在properties里,在程序中读取吗
因为实际情况下观察者状态的改变应该是异步的,所以不知道谁先谁后。
你能不能写完之后把类的执行过程展开看一下?!?
个人觉得老师讲得挺好,强烈支持,希望出更多的设计模式课程
黄明他妈是蜡笔小新
黄明听了想打人系列课程完结
课程须知
学习本课程前,需要具备Java基础,面向对象的程序设计思想。如果对这些知识不熟悉,可以学习《Java入门第一季》和《Java入门第二季》这两门课程。
老师告诉你能学到什么?
1、理解观察者模式的概念和结构 2、掌握如何将观察者模式应用到项目中,解决项目实际问题 3、掌握观察者模式的应用场景

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消