|设计模式:观察者模式

文章图片
什么是观察者模式观察者模式(Observer Pattern) , 也叫做发布/订阅模型(Publish/Subscribe) 。 在此种模式中 , 一个目标物件管理所有相依于它的观察者物件 , 并且在它本身的状态改变时主动发出通知 。 这通常透过呼叫各观察者所提供的方法来实现 。 此种模式通常被用在即时事件处理系统 。
一句话归纳解耦观察者与被观察者
示例在我很小的时候 , 我看过很多动画片 , 比如“蓝猫淘气三千问”、“神龙斗士”、“迪迦奥特曼”等等 , 但有一部动画片虽然全程文字少的可怜 , 但还是让我的童年充满乐趣 , 它叫做“猫和老鼠” , 我记得有一个故事讲的是某一个夜晚 , 汤姆找杰瑞玩游戏 , 但杰瑞想尽办法叫醒汤姆的主人 , 主人醒了打了汤姆一顿 , 很搞笑~
在这个故事中 , 汤姆是被观察者 , 而杰瑞和主人是观察者 , 代码如下:
适用性以下场景我建议你考虑使用
- 一个对象的改变将导致其他一个或多个对象也发生改变 , 而不知道具体有多少对象将发生改变 , 可以降低对象之间的耦合度 。
- 实现类似广播机制的功能 , 不需要知道具体收听者 , 只需分发广播 , 系统中感兴趣的对象会自动接收该广播 。
- 需要在系统中创建一个触发链 , 可以使用观察者模式创建一种链式触发机制
- 目标与观察者之间的依赖关系并没有完全解除 , 而且有可能出现循环引用 。
- 当观察者对象很多时 , 通知的发布会花费很多时间 , 影响程序的效率 。
- 食品安全|实时数据分析,亚略特边缘计算单元TrustBox赋能数字监管新模式建设
- 电子书|全彩电子书阅读器来了:最佳色彩模式延迟1.5秒 你能接受吗?
- 相信大家平时在word的使用中|如何去除word文档的只读模式
- 华为鸿蒙系统的出现|华为鸿蒙系统默认是纯净模式怎么关闭?
- 在使用手机的过程中|怎么打开手机的开发者模式
- 贴膜并安装手机壳|华为nova10开启“降价”模式,价格被调控到2279元
- 服务质量|宝尊电商的模式之殇与未来之困
- 小米科技|自媒体定位之功能、变现模式定位
- 华为手机开启“降价”模式,轻薄曲面屏仅2059元,6000万+鸿蒙OS
- 随着网络信息技术的快速发展|元宇宙虚拟空间的商业化模式
