首先明确观察者和被观察者责任
被观察者用来 存放谁来观察他自己
观察者则是 类似与控制反转 来操作被观察者存放的对象
过程 由观察者来去把自己放入被观察者数组
定义观察者要被触发的方法
最后由被观察者来触发方法
https://www.cnblogs.com/cc-freiheit/p/11356073.html
git代码 观察者模式
https://github.com/StoneSuilol/observeMode.git
发布订阅模式更灵活,是进阶版的观察者模式,指定对应分发。
-
观察者模式维护单一事件对应多个依赖该事件的对象关系;
-
发布订阅维护多个事件(主题)及依赖各事件(主题)的对象之间的关系;
-
观察者模式是目标对象直接触发通知(全部通知),观察对象被迫接收通知。发布订阅模式多了个中间层(事件中心),由其去管理通知广播(只通知订阅对应事件的对象);
-
观察者模式对象间依赖关系较强,发布订阅模式中对象之间实现真正的解耦。