机构档案
- 机构级别:普通会员
- 信用等级:
资料认证
未通过身份证认证
未通过办学许可认证
- 学校浏览人次:次
- 加盟时间:2017年03月10日
新闻动态
西安尚学堂java观察者模式
发布者:西安尚学堂 发布时间:2017-04-12 来源:西安尚学堂
像activeMQ等消息队列中,我们经常会使用发布订阅模式,但是你有没有想过,客户端时如何及时得到订阅的主题的信息?其实就里就用到了观察者模式。在软件系统中,当一个对象的行为依赖于另一个对象的状态时,观察者模式就相当有用。如果不使用观察者模式提供的通用结构,而需要我们实现类似的功能,想想我们该如何实现,我们只能在另外一个线程不断对象所依赖的状态。当然下面的例子都是基于一个进程内观察者模式的举例,你可能会和我当初一样不解,消息队列中的消费者是通过socket进行通信得到订阅的主题的信息。其实还是一回事的,被观察者(主题)里面会维护一个与它有订阅的所有消费者的连接,当被观察者(主题)里面添加一个消息时,就会调用自身的方法,把该消息通过维持的socket发送给所有订阅的消费者。
下次再跳槽,我就不是仅仅调侃我掌握kafka等消息队列的特性了,我又可以结合设计模式来侃我对消息队列的理解,这个逼吹的响亮吧。
观察者模式可以用于事件,通知发布等场合。可以确保观察者在不使用轮询监控的情况下,及时收到相关的消息和事件。
下次再跳槽,我就不是仅仅调侃我掌握kafka等消息队列的特性了,我又可以结合设计模式来侃我对消息队列的理解,这个逼吹的响亮吧。
观察者模式可以用于事件,通知发布等场合。可以确保观察者在不使用轮询监控的情况下,及时收到相关的消息和事件。