问题
单项选择题
图4—3所示为______设计模式,抽象了主体与Observer之间的耦合关系,对一个对象的修改能够在不知道其他对象标识的情况下通知这些对象。
A.Composite
B.Observer
C.State
D.Visitor
答案
参考答案:B
解析: 图4-3所示的UML类图所描绘的是设计模式中的观察者(Observer)模式。该模式的设计意图是,定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,将自动通知并更新它所有的依赖对象。其优点是:①抽象了主体与Observer之间的耦合关系;②支持广播方式的通信。
在以下情况下,应该使用观察者(Observer)模式:①对一个对象的修改涉及对其他对象的修改,而且不知道有多少对象需要进行相应修改;②对象能够在不用假设其他对象标识的前提下通知这些对象。