单选题 下列UML类图表示的是 (53) 设计模式。该设计模式中 (54)

【正确答案】 D
【答案解析】
单选题
【正确答案】 A
【答案解析】[要点解析] 本题考查行为设计模式。
(1)备忘录模式(Memento Pattern)应用于保存和跟踪对象的状态,以便于必要的时候可以把对象恢复到以前的状态。备忘录模式(Memento Pattern)可以在不暴露对象的内部结构的情况下完成这样的功能。
(2)策略模式是对算法的包装,把使用算法的责任和算法本身分隔开,委派给不同的对象管理。策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。简单地说,就是把会变化的内容取出并封装起来,以便以后可以轻易地改动或扩充部分,而不影响不需要变化的其他部分。
(3)状态模式可以有效地替换充满在程序中的if...else语句,将不同条件下的行为封装在一个类里面,再给这些类一个统一的父类来约束他们。
(4)观察者模式假定保存数据的对象和显示数据的对象是分开的,负责显示数据的对象观察保存数据对象中的改变。当我们要实现Observer模式时,通常将数据对象作为目标(Subject),各个显示数据的对象作为观察者(Observer)。每一个观察者(Observer)通过调用目标(Subject)中的一个公有(public)方法,在他所感兴趣的数据中注册自己。这样,当数据改变时,每一个目标(Subject)通过观察者(Observer)的接口发送更新通知。
综上所述,本题UML类图表示的显然是观察者设计模式。观察者模式定义的是一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。所以第47题选项A正确。