美文网首页Design Pattern
Observer - 监听者/观察者模式

Observer - 监听者/观察者模式

作者: DjangoW | 来源:发表于2018-09-18 11:33 被阅读0次

介绍

观察者模式是通过对象之间的依赖关系,在一个对象发生改变的时候通知其他对象(注册为监听者的对象),被通知对象分别做出相应反应。此模式又叫做发布-订阅模式(Publish/Subscribe)、模型-视图模式(Model/View)。观察者模式是一个直观&容易理解的设计模式,而且应用广泛。

Observer应用场景

当存在一对一,或者一对多关系的时候都可以考虑使用观察者模式。最常用在订阅-发布系统,GUI系统中。
比如在MVC模式中,Model的改变会触发相关View的更新。昵称的改变会导致页面上所有用到昵称的地方都被更新。
当多个对象之间依次触发,就形成了一条触发链。如果观察者太多触发链太长,性能问题可能比较突出。而且如果触发链中有环路则会造成死循环!

Observer通用UML图

类图:


Obeserver.jpg

时序图:


seq_Obeserver.jpg

Reference

https://design-patterns.readthedocs.io/zh_CN/latest/behavioral_patterns/observer.html

相关文章

  • 设计模式-观察者模式

    设计模式-观察者模式 springboot实现 观察者1 观察者2 定义事件 测试方法,发布事假,监听者1.2均监...

  • Observer - 监听者/观察者模式

    介绍 观察者模式是通过对象之间的依赖关系,在一个对象发生改变的时候通知其他对象(注册为监听者的对象),被通知对象分...

  • Android 开发--观察者模式

    观察者 模式 有两个 角色,观察者observer ,被观察者observable。 Observer 是个接口,...

  • 设计模式之观察者模式

    观察者模式 Observer Intro 观察者模式又叫做 发布订阅(Publish/Subscribe)模式,观...

  • 行为型模式——观察者模式

    观察者模式定义 观察者模式(Observer),又叫发布-订阅模式(Publish/Subscribe),定义对象...

  • c++观察者模式

    1.观察者模式简介    观察者模式(Observer),又叫发布-订阅模式(Publish/Subscribe)...

  • 面試小記

    1:设计模式 观察者模式observer observerble,subscribe (订阅) (1)观察者对象 ...

  • 观察者模式

    观察者模式 观察者模式的定义 观察者模式(Observer Pattern)也叫做发布订阅模式(Publish/s...

  • 设计模式之观察者模式

    观察者模式定义 观察者模式(Observer Pattern)也叫做发布订阅模式(Publish/Subscrib...

  • JS观察者模式简介及实例

    一、概念观察者(observer)模式:又称订阅/发布(subscriber/publisher)模式,被观察者(...

网友评论

    本文标题:Observer - 监听者/观察者模式

    本文链接:https://www.haomeiwen.com/subject/cfvlnftx.html