观察者模式

来源:互联网 发布:inpho软件中文说明 编辑:程序博客网 时间:2024/05/17 04:32

当你想要订阅一份报纸,啊,这个例子有点旧,这样,当你想要关注一个公众号,即时的接收该公众号发来的消息,你就是在充当“观察者”的角色。
观察者模式是一种1对n的设计模式,该模式适合有一个主题(公众号)和许多观察者(关注该公众号的人),该主题可以向所有注册自己的观察者推送消息,相当于广播通道。
观察者可以随时注册也可以随时取消关注,假设把所有订阅报纸的人都放在一个类中,当再出现新的观察者,还需要重新添加,而且每个观察者想要获取的信息不尽相同,这就需要观察者模式。
它定义了对象之间一对多的依赖关系,当其中一个状态改变的时候,所有依赖者都可以接收到这个更新状态。两个对象之间松耦合,不清楚彼此细节,却可以实现良好的交互性。
在JDK中,还有哪些地方可以找到观察者模式?
如Jbutton,我们可以为button设置监听函数,但是监听这个button的对象却可以有很多。Swing中使用了大量的观察者模式,很多GUI中也是。

原创粉丝点击