码迷,mamicode.com
首页 > 编程语言 > 详细

java设计模式2-观察者模式

时间:2016-03-05 23:22:36      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:

什么是观察者模式?

何谓观察者模式?观察者模式定义了对象之间的一对多依赖关系,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并且自动更新。

在这里,发生改变的对象称之为观察目标,而被通知的对象称之为观察者。一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,所以么可以根据需要增加和删除观察者,使得系统更易于扩展。

观察者模式又称为发布-订阅模式

观察者模式的优点?

1,很好的解决了一对多的依赖关系中的藕合问题,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。

2,当要在添加一个依赖对象时,不用在更改一的一端的代码.

什么时候用观察者模式?

1,此模式通常被用来实现事件处理系统。(你发了一个qq动态动态要发给那人可以看到,加群就是注册,退群就是notify)

2,还有一种更好的理解,当一件事做完成后,就可以做其它的事情了.

如:有了钱就可以买吃的,穿的,喝的.(一对多). 当你在银行里面花了钱就会,短信通知你,邮件通知你,微信通知你,你也可以取消短信通知.

使用观察者模式时的注意点?

如果在被观察者之间有循环依赖的话,被观察者会触发它们之间进行循环调用,导致系统崩溃。在使用观察者模式是要特别注意这一点。

观察者模式怎么设计,怎么弄?

 

技术分享

很好理解的一个博客

http://blog.csdn.net/chenssy/article/details/8955696

java内置的观察模式

Observable:是一个类使用的时候子类化.

1,这个类以实现了注册,通知,移除三个方法

2,通知有两种方式(两个方法notifyObservers()与notifyObservers(Object arg))

3,调用两个通知方法之前一定要先调用setChanged();

Observer:接口里面有一个update方法

java设计模式2-观察者模式

标签:

原文地址:http://www.cnblogs.com/yinyu/p/5246073.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!