Java设计模式——观察者模式

2017-11-29  本文已影响32人  icyage

Java设计模式之观察者模式

这一次介绍一个非常常用的设计模式,通过这个模式可以完成非常优秀的设计。

简介

通过定义对象之间的一对多关系,在主对象的状态发生变化之后所有依赖对象都会立即受到事件通知。


目标对象(Subject)——可以注册多个观察者
观察者(Observer)——定义一个通过触发事件来操作的方法
具体目标(ConcreteSubject)——定义状态
具体观察者(ConcreteObserver)——定义状态和update方法的实现

应用场景

  • 发布订阅场景
  • 服务注册发现等

实例

观察者模式的代码结构


客户端代码


输出


总结

观察者模式,可以让发布订阅更加规范,针对一对多的场景进行解耦。可以参考消息队列的push方式,这样做实时性更好。在服务治理的时候,服务节点是否存在也可以利用这种设计思想。还有很多场景,希望小伙伴们多多评论交流。

上一篇下一篇

猜你喜欢

热点阅读