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

观察者模式

GerryZhang JAVA开发工程师
难度中级
时长 1小时56分
学习人数
综合评分9.53
113人评价 查看评价
9.7 内容实用
9.6 简洁易懂
9.3 逻辑清晰
这个老师讲的比别人好
黄明都跑了
不是应该先写接口再写业务逻辑,怎么还可以这样写?obsercer的update()方法拿来的?早去干吗了!!
还没有见过这么写代码的
用上时序图,简直太棒了
;;p;;;;;;;;;
我擦,我女神:郑秀晶!
怎么没有课程代码?
Observer是接口,而Observable是类
这判断性能很差,不能动态实现区分观察者.我的方法是在观察者接口声明一个获取不需要更新的内容的方法,方法返回字符串数组.观察者把不需要更新的信息保存在字符串数组中.
在被观察者类的notify方法中定义临时变量存放准备更新的状态信息,然后定义一个布尔类型的标识,默认为true,用来判断是否需要更新.然后通过for循环遍历观察者列表,再嵌套一个for循环来获取观察者不需要更新的内容数组,临时变量与获取不需要更新的内容比较,如果符合则把标识设置为false,可直接跳出当前循环,没必要再继续判断,然后如果更新标识为true,则更新,否则把更新标识重置为true.
List<String> list =new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
for(String str:list){
System.out.println(str);
}
运行结果为1 2 3 4 5

如果目标接口使用List集合来存储观察者列表,然后在notify()方法中循环遍历观察者列表,并进行通知,那么通知的顺序不就是注册观察者时的顺序吗?为什么老师说理论上不行.

最新回答 / leowei
个人理解,是 这几个观察者之间没有紧密的依赖关系!是平行的关系,或者是比较独立的
老师讲得非常好!
痛苦的是没有源代码来复习
老师从生活中的场景出发,给我们讲述了观察者模式,很不错
课程须知
学习本课程前,需要具备Java基础,面向对象的程序设计思想。如果对这些知识不熟悉,可以学习《Java入门第一季》和《Java入门第二季》这两门课程。
老师告诉你能学到什么?
1、理解观察者模式的概念和结构 2、掌握如何将观察者模式应用到项目中,解决项目实际问题 3、掌握观察者模式的应用场景

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消