观察者模式

来源:互联网 发布:ela原油数据库存网站 编辑:程序博客网 时间:2024/05/09 11:56

关于观察者模式,目前接触到的最直接最明显的,就是项目中用到的前端消息通讯了吧,偷个懒:点击打开链接

这是之前自己写的前端通讯。原理就是使用委托+观察者,当有对象注册为观察者时,他还需要遵循主题的结构,传入自己在收到消息时,希望得到的数据。

只要观察者加入主题的队列。主题就会通过委托,在触发消息的一瞬间,先把观察者需要的数据填充好,然后向所有关注这条消息的观察者发送消息。

这样做最大的好处,就是主题根本不关注观察者的具体信息,他只需要在触发时,告诉事件对应的所有观察者就好了。这样就只是一对多的关系,避免了多对多的关系网,这不就遵循了最少知识原则吗。