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

观察者模式

GerryZhang JAVA开发工程师
难度中级
时长 1小时56分
学习人数
综合评分9.53
113人评价 查看评价
9.7 内容实用
9.6 简洁易懂
9.3 逻辑清晰
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()方法中循环遍历观察者列表,并进行通知,那么通知的顺序不就是注册观察者时的顺序吗?为什么老师说理论上不行.
老师讲得非常好!
痛苦的是没有源代码来复习
老师从生活中的场景出发,给我们讲述了观察者模式,很不错
这个讲师好幽默,敲着代码,和看金星秀一样。
程序猿都这么屌丝吗
目标和观察者之间的依赖关系,有点糊涂了。
慕课网的视频画面非常好以及课程内容非常好,但是视频声音就一般般。
非常不错,通俗易懂
建议老师在编码的时候,也使用生活中的实例来进行命令,用subject这种命名方式,听到后面都晕了。
声音怎么回事 ,感觉很沙哑
通过老师的讲解,我提升了不少对java的认识。谢谢Greey老师
老师讲的很好,条理清晰
课程须知
学习本课程前,需要具备Java基础,面向对象的程序设计思想。如果对这些知识不熟悉,可以学习《Java入门第一季》和《Java入门第二季》这两门课程。
老师告诉你能学到什么?
1、理解观察者模式的概念和结构 2、掌握如何将观察者模式应用到项目中,解决项目实际问题 3、掌握观察者模式的应用场景

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消