Android 设计模式入门到精通之二十一:观察者模式(Observer Pattern)

观察者模式(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.

你可能感兴趣的:(Android 设计模式入门到精通之二十一:观察者模式(Observer Pattern))