观察者模式(Observer Pattern)
1. 概念
Define a one-to-many dependency between objects so that when one object changes state,all itsdependents are notified and updated automatically。定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。
观察者模式是对象的行为模式,又叫发布-订阅(publish/subscribe)模式,模型-视图(moder/view)模式,源-监听器(source/listener)模式或从属者(dependent)模式。
2. 应用场景 --注册&注销监听
相关概念:监听&回调的区别:
•监听Listener:动态注册addListener() & removeListener(),维护监听ArrayList数组或列表。
•回调Callback:方法调用时,传入callback para,由执行方决定callback的触发条件。
a. 当一个抽象模型有两个方面,其中一个方面依赖于另一个方面。
b. 当对一个对象的改变需要同时改变其它对象,而不知道具体有多少个对象待改变。
c. 当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换句话说,你不希望这些对象是紧密耦合的。
3. 代码实践
实现举例:多个UIs 注册&注销监听(addListener() & removeListener()) 特定的StateMananger.
网友评论