()设计模式定义了对象间的一对多关系,当一个对象状态发生变化时,所有依赖于他的对象都到通知并自动更新A.适配器B.迭代器C.原型D.观察者
()设计模式定义了对象间的一对多关系,当一个对象状态发生变化时,所有依赖于他的对象都到通知并自动更新
A.适配器
B.迭代器
C.原型
D.观察者
参考答案和解析
D 解析:本题考查的是设计模式的基本知识,常用的23种设计模式中,观察者模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
相关考题:
● 回调(Callback)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的 (4) 模式就是回调机制的一个面向对象的替代品。该模式的意图是 (5) 。(4)A. Strategy(策略)B. Adapter(适配器)C. Command(命令)D. Observer(观察者)(5)A. 使原本由于接口不兼容而不能一起工作的那些类可以一起工作B. 将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作 C. 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新D. 使算法可独立于使用它的客户而变化
● 下图描述了一种设计模式,该设计模式不可以 (43 ) 。(43 )A. 动态决定由一组对象中某个对象处理该请求B. 动态指定处理一个请求的对象集合, 并高效率地处理一个请求C. 使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合关系D. 将对象连成一条链,并沿着该链传递请求
● (43)设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。(43)A. Adapter(适配器)B. Iterator(迭代器)C. Prototype(原型)D. Observer(观察者)
图3-6示意的(49)设计模式,定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。A.状态(State)B.观察者(Observer)C.组合(Composite)D.访问者(Visitor)
阅读以下说明和Java代码,将应填入(n)处。[说明]在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文的内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组 DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的 DocExplorer对象都将得到通知,这种应用被称为观察者模式。以下代码采用Java语言实现,能够正确编译通过。[Java代码]//Subject.java 文件public interface Subject {public void attach(Observer DocExplorer);public void detach(Observer DocExplorer);void notifyObservers();}//Observer.java 文件public interface Observer{void update((1) );}//OfficeDoc.java 文件import java.util.*;public class OfficeDoc implements Subject(//OfficeDoc 类实现 Subject 接口private Vector bserverVeetor=new java.util.Vector();//存储与OfficeDoc相关联的DocExplorer 对象public void attach(Observer observer){//将某 DocExplorer 对象与OfficeDoc 相关联ObserverVector.addElement(observer);}public void detach(Observer observer){//解除某DocExplorer 对象与OfficeDoc的关联关系ObserverVector.removeElement(observer);}public void notifyObservers(){//当OfficeDoc对象状态已发生变化时,通知所有的DocExplorer对象Enumeration enumeration=(2);while (enumeration.hasMoreElements()){((Observer)enumeration.nextElement()).(3);}}public Enumeration Observers(){return ObserverVector.elements();}//其他公文类的属性和方法省略}//DoeExplorer.java 文件public class DocExplorer implements (4) {public void update( (5) ){//更新DocExplorer自身的状态,代码省略}}
阅读以下技术说明及C++代码,将C++程序中(1)~(5)空缺处的语句填写完整。[说明]在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件中内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为Observer(观察者)模式。以下代码采用C++语言实现,能够正确编译通过。[C++代码]
阅读以下技术说明及Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。[说明]在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为Observer(观察者)模式。以下代码采用Java语言实现,能够正确编译通过。[Java代码]
● (40) 设计模式允许一个对象在其状态改变时,通知依赖它的所有对象。该设计模式的类图如下图,其中, (41)在其状态发生改变时,向它的各个观察者发出通知。(40)A.命令( Command)B.责任链(Chain of Responsibility)C.观察者( Observer)D.迭代器(Iterator)(41)A.SubjectB.ConcreteSubjectC. ObserverD.ConcreteObserver
设计模式允许一个对象在其状态改变时,通知依赖它的所有对象。该设计模式的类图如下图,其中, (68)在其状态发生改变时,向它的各个观察者发出通知。A.命令( Command)B.责任链(Chain of Responsibility)C.观察者( Observer)D.迭代器(Iterator)
图1-5UML类图所示意的设计模式的意图是(49)。A.使原本由于接口不兼容而不能一起工作的那些类可以一起工作B.使算法可独立于使用它的客户而变化C.定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新D.将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作
观察者(Observer)模式适用于( )。 A.访问一个聚合对象的内容而无须暴露它的内部表示*B.减少多个对象或类之间的通信复杂性C.将对象的状态恢复到先前的状态D.一对多对象依赖关系,当一个对象修改后,依赖它的对象都自动得到通知
A.该设计模式中的Observer需要维护至少一个Subject对象B.该设计模式中的ConcreteObserver可以绕过Subject及其子类的封装C.该设计模式中一个Subject对象需要维护多个Observer对象D.该设计模式中Subject需要通知Observer对象其自身的状态变化
观察者(Observer)模式适用于( )。A.访问一个聚合对象的内容,而无需暴露他的内部表示B.减少多个对象或类之间的通信复杂性C.将对象的状态恢复到先前的状态D.一个多对象依赖关系。当一个对象修改后,依赖他的对象都自动得到通知
下图所示为 ( ) 设计模式,属于 ( ) 设计模式,适用于 (请作答此空) 。A.表示对象的部分—整体层次结构时B.当一个对象必须通知其他对象,而它又不能假定其他对象是谁时C.当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时D.在需要比较通用和复杂的对象指针代替简单的指针时
以下意图哪个是用来描述OBSERVER(观察者)?()A、将抽象部分与它的实现部分分离,使它们都可以独立地变化B、定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新C、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象D、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系
以下意图哪个是用来描述PROTOTYPE(原型)?()A、允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类B、表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作C、定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新D、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
Decorator(装饰)模式的意图是:()。A、定义一系列的算法,把它们一个个的封装起来,并且使它们可相互替换B、为一个对象动态连接附加的职责C、你希望只拥有一个对象,但不用全局对象来控制对象的实例化D、在对象之间定义一种一对多的依赖关系,这样当一个对象的状态改变时,所有依赖于它的对象都将得到通知并自动更新
回调(Call Back)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的(1)模式就是回调机制的一个面向对象的替代品。该模式的意图是(2)。空白(2)处应选择()A、使原本由于接口不兼容而不能一起工作的那些类可以一起工作B、将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作C、定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新D、使算法可独立于使用它的客户而变化
单选题Decorator(装饰)模式的意图是:()。A定义一系列的算法,把它们一个个的封装起来,并且使它们可相互替换B为一个对象动态连接附加的职责C你希望只拥有一个对象,但不用全局对象来控制对象的实例化D在对象之间定义一种一对多的依赖关系,这样当一个对象的状态改变时,所有依赖于它的对象都将得到通知并自动更新
单选题以下意图哪个是用来描述VISITOR(访问者)?()A定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新B表示一个作用于某对象结构中的各元素的操作C在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态D用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
单选题以下意图哪个是用来描述观察者模式()A将抽象部分与它的实现部分分离,使它们都可以独立地变化B定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新C用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象D使多个对象都有机会处理请求,避免请求的发送者和接收者之间的耦合关系
单选题以下意图哪个是用来描述PROTOTYPE(原型)?()A允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类B表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作C定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新D用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
单选题以下意图哪个是用来描述OBSERVER(观察者)?()A将抽象部分与它的实现部分分离,使它们都可以独立地变化B定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新C用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象D使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系