观察者模式与发布订阅者模式

来源:互联网 发布:拓普康怎样导入数据 编辑:程序博客网 时间:2024/06/05 04:25
观察者模式:
观察者模式定义了对象间一对多依赖,当一个对象改变状态时,这个对象的所有依赖者都会收到通知并按照自己的方式进行更新

具体如下图所示:

观察者模式在实际应用中被使用的相当的广泛。这种设计模式体现了主题对象与观察者对象之间的松耦合机制,主题对象有一个状态,每当状态改变时,他会依次通知在它队列中注册过的观察者(注册到具体的目标里)。但实际上主题对象并不知道实际的观察者是什么,它只是调用观察者留下的接口,这种设计带来的好处是避免了喝多的对象去访问同一片数据,这实际上是一种推送的方式,无论是要增加新的观察这还是减少观察者,我们只需要的是注册和注销而已,并不需要改变主体对象的核心代码,既有极大的灵活性。
比如:有个“天气中心”的具体目标A,专门监听天气变化,而有个显示天气的界面的观察者B,B就把自己注册到A里,当A触发天气变化,就调度B的更新方法,并带上自己的上下文。
发布订阅者模式:
比较概念的解释是,订阅者把自己想订阅的事件注册到调度中心,当该事件触发时候,发布者发布该事件到调度中心(顺带上下文),由调度中心统一调度订阅者注册到调度中心的处理代码。




原创粉丝点击