当前位置:中级软件设计师题库>面向对象技术题库

问题:

[单选,案例分析题]

(1)设计模式允许一个对象在其状态改变时,通知依赖它的所有对象。该设计模式的类图如图所示,其中,(2)在其状态发生改变时,向它的各个观察者发出通知。

空白(2)处应选择()

A . A.Subject
B . ConcreteSubject
C . Observer
D . ConcreteObserver

业务用例和参与者一起描述(1),而业务对象模型描述(2)。空白(1)处应选择() A.工作过程中的静态元素。 工作过程中的动态元素。 工作过程中的逻辑视图。 组织支持的业务过程。 真密度 药典 (1)设计模式允许一个对象在其状态改变时,通知依赖它的所有对象。该设计模式的类图如图所示,其中,(2)在其状态发生改变时,向它的各个观察者发出通知。空白(1)处应选择() A.命令(CommanD.。 责任链(ChainofResponsibility)。 观察者(Observer)。 迭代器(Iterator)。 一个类是(1)。在定义类时,将属性声明为private的目的是(2)。空白(2)处应选择() A.实现数据隐藏,以免意外更改。 操作符重载。 实现属性值不可更改。 实现属性值对类的所有对象共享。

(1)设计模式允许一个对象在其状态改变时,通知依赖它的所有对象。该设计模式的类图如图所示,其中,(2)在其状态发生改变时,向它的各个观察者发出通知。

空白(2)处应选择()
参考答案:

  参考解析

观察者模式定义并保持对象间的依赖关系,它允许一个对象在其状态改变时,通知依赖它的所有对象。命令模式将请求封装在对象中,把它作为参数来传递。迭代器抽象了访问和遍历一个集合中的对象的方式。责任链是用一系列类试图处理一个请求,这些类之间是一个松散的耦合,唯一共同点是在它们之间传递请求。也就是说,来了一个请求,A类先处理,如果A类没有处理,就传递到B类处理,如果B类没有处理,就传递到C类处理,就这样像一个链条一样传递下去。引入责任链的目的是为了解除耦合。在观察者设计模式中,Subject和Observor分别表示抽象的被观察者和观察者。通常一个观察者观察一个被观察者,而一个被观察者可以被多个观察者关注。但Subject的状态发生变化时,Subject将通知所有的Observor,告知其状态已发生变化,而Observor收到通知后将查询Subject的状态。

在线 客服