观察者模式

定义

观察者模式(Observer Pattern):定义对象间的一种一对多的依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都可以到通知并做相应针对性的处理。

适用场景

凡是涉及到一对一或者一对多的对象交互场景都可以使用观察者模式。通常我们使用观察者模式实现一个对象的改变会令其他一个或多个对象发生改变的需求,比如换肤功能,监听列表滚动的偏移量等等。


image

image
优点

观察者模式在观察目标和观察者之间建立了一个抽象的耦合。

可实现广播的,一对多的通信

缺点

如果一个观察目标对象有很多直接和间接的观察者的话,会需要比较多的通信时间。

需要注意观察者和观察目标之间是否有循环引用。

在 iOS SDK 中的 KVO 与 NSNotification 是观察者模式的应用。

转自

面向对象设计的设计模式(十八):观察者模式

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容