1、观察者模式的定义
当一个对象的状态发生改变时,所有依赖于它的订阅者都会收到通知
2、观察者模式应用场景
场景一:关联行为场景
场景二:事件多级触发场景
场景三:跨系统消息交互场景(例如:消息队列、事件总线等)
3、观察者模式的角色划分
角色一:被观察者(目标对象)
角色二:具体被观察者
角色三:观察者(抽象)
角色四:具体观察者
例如:
播放器案例的NotificationCenter的角色划分
被观察者:抽象->NSObject
具体观察者:AVPlayerItem
观察者:抽象->NSObject
具体观察者:DefaultAVPlayer
4、观察者模式的原理案例
微信公众号:企业号、个人号、订阅号、小程序号
被观察者:抽象->客户端->StudentObservable(学生类)
具体被观察者:安卓客户端、ios客户端->NSLogStudent、NSErrorStudent、EdWordStudent
观察者:抽象->Observer
具体观察者:NewsObserver->新闻观察者
具体的demo地址:
网友评论