itgle.com

以下设计模式中,(请作答此空)模式使多个对象都有机会处理请求。将这些对象连成一条链。并沿着这条链传递该请求。直到有一个对象处理为止。从而避免请求的发送者和接收者之间的耦合关系。( )模式提供一种方法顺序访问一个聚合对象中的各个元素。且不需要暴露该对象的内部表示。这两种模式均为( )A.责任链(Chain of Responsibility) B.解释器(Interpreter) C.命令(Command) D.迭代器(Iterator)

题目
以下设计模式中,(请作答此空)模式使多个对象都有机会处理请求。将这些对象连成一条链。并沿着这条链传递该请求。直到有一个对象处理为止。从而避免请求的发送者和接收者之间的耦合关系。( )模式提供一种方法顺序访问一个聚合对象中的各个元素。且不需要暴露该对象的内部表示。这两种模式均为( )

A.责任链(Chain of Responsibility)
B.解释器(Interpreter)
C.命令(Command)
D.迭代器(Iterator)

相似考题
更多“以下设计模式中,(请作答此空)模式使多个对象都有机会处理请求。将这些对象连成一条链。并沿着这条链传递该请求。直到有一个对象处理为止。从而避免请求的发送者和接收者之间的耦合关系。( )模式提供一种方法顺序访问一个聚合对象中的各个元素。且不需要暴露该对象的内部表示。这两种模式均为( )”相关问题
  • 第1题:

    下列设计模式中, (请作答此空) 模式既是类结构型模式,又是对象结构型模式。此模式与 ( ) 模式类似的特征是,都给另一个对象提供了一定程度上的间接性,都涉及到从自身以外的一个接口向这个对象转发请求。

    A.桥接(Bridge)
    B.适配器(Adapter)
    C.组成(Composite)
    D.装饰器(Decorator)

    答案:B
    解析:
    适配器模式(Adapter)用于将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
    适配器有类结构和对象结构两种模式,如下图所示。在类适配器中,因为Adapter类既继承了Adaptee(被适配类),也实现了Target接口,在Client类中我们可以根据需要选择并创建任一种符合需求的子类,来实现具体功能。在对象适配器中,Adapter不是使用多继承或继承再实现的方式,而是使用直接关联,或者称为委托的方式。

    装饰器模式用于动态地给一个对象添加一些额外的职责或者行为。装饰器模式提供了改变子类的灵活方案。装饰器模式在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。当用于一组子类时,装饰器模式更加有用。如果你拥有一组子类(从一个父类派生而来),你需要在与子类独立使用情况下添加额外的特性,你可以使用装饰器模式,以避免代码重复和具体子类数量的增加。

  • 第2题:

    下图是( )设计模式的类图,该设计模式的目的是(请作答此空),图中,ConcreteCommand和Command之间是( )关系,Invoker和Command之间是( )关系。

    A.将一个请求封装成一个对象,从而使得可以用不同的请求对客户进行参数化,队请求排队或记录请求日志,以及支持可撤销的操作
    B.将一个类的接口适配成用户所期待的
    C.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能
    D.为一个对象提供代理以控制该对象的访问

    答案:A
    解析:
    适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。命令模式:将一个请求封装成一个对象,从而使得可以用不同的请求对客户进行参数化,队请求排队或记录请求日志,以及支持可撤销的操作。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代理模式:为一个对象提供代理以控制该对象的访问。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,带普通箭头的实心线指向被拥有者。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

  • 第3题:


    A.该设计模式中的Observer需要维护至少一个Subject对象
    B.该设计模式中的ConcreteObserver可以绕过Subject及其子类的封装
    C.该设计模式中一个Subject对象需要维护多个Observer对象
    D.该设计模式中Subject需要通知Observer对象其自身的状态变化

    答案:B
    解析:
    桥接模式将抽象部分与实现部分分离,使得它们两部分可以独立地变化。
    策略模式定义一系列的算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。
    抽象工厂提供了一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。
    观察者模式定义对象间的一种一对多依赖关系,使得每当一个对象改变状态,则其相关依赖对象皆得到通知并被自动更新。
    从本题给出的图我们可以判断是观察者模式,其中被观察对象(Subject),具体被观察对象(ConcreteSubject),观察者(Observer)及具体观察者(ConcreteObserver)。在本设计模式中,Observer需要维护至少一个Subject对象,一个Subject对象需要维护多个Observer对象,另外Subject需要通知Observer对象其自身的状态变化。


  • 第4题:

    设计模式描述了一个出现在特定设计语境中的设计再现问题,并为它的解决方案提供了一个经过充分验证的通用方案,不同的设计模式关注解决不同的问题。例如,抽象工厂模式提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类,它是一种( )模式;( )模式将类的抽象部分和它的实现部分分离出来,使它们可以独立变化,它属于(请作答此空)模式;( )模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。

    A.组合型
    B.结构型
    C.行为型
    D.创建型

    答案:B
    解析:
    设计模式包括:创建型、结构型、行为型三大类别。抽象工厂模式属于创建型设计模式。桥接模式属于结构型设计模式。

  • 第5题:

    设计模式描述了一个出现在特定设计语境中的设计再现问题,并为它的解决方案提供了一个经过充分验证的通用方案,不同的设计模式关注解决不同的问题。例如,抽象工厂模式提供一个接口,可以创建一系列相关或相互依赖的对象。而无须指定它们具体的类,这是一种( )模式;( )模式将类的抽象部分和它的实现部分分离出来,使它们可以独立变化,这属于( )模式;(请作答此空)模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志并支持可撤销的操作。


    A.Command
    B. Fa?ade
    C. Memento
    D.Visitor


    答案:A
    解析:
    设计模式包括创建型、结构型、行为型3大类别。抽象工厂模式属于创建型设计模式。桥接模式属于结构型设计模式。

  • 第6题:

    以下意图哪个是用来描述ITERATOR(迭代器)?()

    • A、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系
    • B、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
    • C、提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示
    • D、运用共享技术有效地支持大量细粒度的对象

    正确答案:C

  • 第7题:

    以下意图哪个是用来描述OBSERVER(观察者)?()

    • A、将抽象部分与它的实现部分分离,使它们都可以独立地变化
    • B、定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新
    • C、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
    • D、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系

    正确答案:B

  • 第8题:

    以下意图哪个是用来描述MEMENTO(备忘录)?()

    • A、在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态这样以后就可将该对象恢复到原先保存的状态
    • B、保证一个类仅有一个实例,并提供一个访问它的全局访问点
    • C、将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作
    • D、提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示

    正确答案:A

  • 第9题:

    单选题
    在设计中如果一个对象请求另一个对象调用其方法到达某种目的,而不和请求的对象直接打交道,这种模式是()。
    A

    观察者模式

    B

    命令模式

    C

     策略模式

    D

    责任链模式


    正确答案: B
    解析: 暂无解析

  • 第10题:

    单选题
    以下意图哪个是用来描述TEMPLATE METHOD(模板方法)?()
    A

    定义一个操作中的算法的骨架,而将一些步骤延迟到子类中

    B

    为其他对象提供一种代理以控制对这个对象的访问

    C

    将抽象部分与它的实现部分分离,使它们都可以独立地变化

    D

    使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系


    正确答案: A
    解析: 暂无解析

  • 第11题:

    单选题
    以下意图哪个是用来描述观察者模式()
    A

    将抽象部分与它的实现部分分离,使它们都可以独立地变化

    B

    定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新

    C

    用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象

    D

    使多个对象都有机会处理请求,避免请求的发送者和接收者之间的耦合关系


    正确答案: A
    解析: 暂无解析

  • 第12题:

    单选题
    以下意图哪个是用来描述OBSERVER(观察者)?()
    A

    将抽象部分与它的实现部分分离,使它们都可以独立地变化

    B

    定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新

    C

    用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象

    D

    使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系


    正确答案: A
    解析: 暂无解析

  • 第13题:

    下图所示为 ( ) 设计模式,适用于 (请作答此空) 。

    A.有多个对象可以处理一个请求,在运行时刻自动确定由哪个对象处理
    B.想使用一个已经存在的类,而其接口不符合要求
    C.类的抽象和其实现之间不希望有一个固定的绑定关系
    D.需要为一个复杂子系统提供一个简单接口

    答案:D
    解析:
    外观设计模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行交互。外观设计模式提供一个高层次的接口,使得子系统更易于使用。
    外观模式适用情况如下:
    1)为复杂的子系统提供一个简单的接口;
    2)客户程序与抽象类的实现部分之间存在着很大的依赖性;
    3)构建一个层次结构的子系统时,适用外观模式定义子系统中每层的入口点。

  • 第14题:

    设计模式描述了一个出现在特定设计语境中的设计再现问题,并为它的解决方案提供了一个经过充分验证的通用方案,不同的设计模式关注解决不同的问题。例如,抽象工厂模式提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类,它是一种( )模式;(请作答此空)模式将类的抽象部分和它的实现部分分离出来,使它们可以独立变化,它属于( )模式;( )模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。

    A.Bridge
    B.Proxy
    C.Prototype
    D.Adapter

    答案:A
    解析:
    设计模式包括:创建型、结构型、行为型三大类别。抽象工厂模式属于创建型设计模式。桥接模式属于结构型设计模式。

  • 第15题:

    下面的UML类图描绘的是( )设计模式。关于该设计模式的叙述中,错误的是(请作答此空)。

    A.该设计模式中的Observer需要维护至少一个Subject对象
    B.该设计模式中的ConcreteObserver可以绕过Subject及其子类的封装
    C.该设计模式中一个Subject对象需要维护多个Observer对象
    D.该设计模式中Subject需要通知Observer对象其自身的状态变化

    答案:B
    解析:
    本题主要考查设计模式的相关知识。
    桥接模式将抽象部分与实现部分分离,使得它们两部分可以独立地变化。
    策略模式定义一系列的算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。
    抽象工厂提供了一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。
    观察者模式定义对象间的一种一对多依赖关系,使得每当一个对象改变状态,则其相关依赖对象皆得到通知并被自动更新。
    从本题给出的图我们可以判断是观察者模式,其中被观察对象(Subject),具体被观察对象(ConcreteSubject),观察者(Observer)及具体观察者(ConcreteObserver)。在本设计模式中,Observer需要维护至少一个Subject对象,一个Subject对象需要维护多个Observer对象,另外Subject需要通知Observer对象其自身的状态变化。

  • 第16题:

    以下设计模式中,( )模式使多个对象都有机会处理请求。将这些对象连成一条链。并沿着这条链传递该请求。直到有一个对象处理为止。从而避免请求的发送者和接收者之间的耦合关系。( )模式提供一种方法顺序访问一个聚合对象中的各个元素。且不需要暴露该对象的内部表示。这两种模式均为(请作答此空)

    A.创建型对象模式
    B.结构型对象模式
    C.行为型对象模式
    D.行为型类模式

    答案:C
    解析:
    责任链模式:通过给多个对象处理请求的机会,减少请求的发送者与接受者之间的耦合。将接收对象链接起来,在链中传递请求,直到有一个对象处理这个请求。迭代器模式:提供一种方法来顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示命令模式:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作解释器模式:给定一种语言,定义它的文法表示,并定义一个解释器,该解释器用来根据文法表示来解释语言中的句子责任链模式和迭代器模式都是行为型对象模式

  • 第17题:

    设计模式描述了一个出现在特定设计语境中的设计再现问题,并为它的解决方案提供了一个经过充分验证的通用方案,不同的设计模式关注解决不同的问题。例如,抽象工厂模式提供一个接口,可以创建一系列相关或相互依赖的对象。而无须指定它们具体的类,这是一种( )模式;(请作答此空)模式将类的抽象部分和它的实现部分分离出来,使它们可以独立变化,这属于( )模式;( )模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志并支持可撤销的操作。



    A.Bridge
    B.Proxy
    C.Prototype
    D.Adapter

    答案:A
    解析:
    设计模式包括创建型、结构型、行为型3大类别。抽象工厂模式属于创建型设计模式。桥接模式属于结构型设计模式。

  • 第18题:

    以下意图哪个是用来描述STATE(状态)?()

    • A、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系
    • B、提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示
    • C、允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类
    • D、在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态

    正确答案:C

  • 第19题:

    以下意图哪个是用来描述TEMPLATE METHOD(模板方法)?()

    • A、定义一个操作中的算法的骨架,而将一些步骤延迟到子类中
    • B、为其他对象提供一种代理以控制对这个对象的访问
    • C、将抽象部分与它的实现部分分离,使它们都可以独立地变化
    • D、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系

    正确答案:A

  • 第20题:

    回调(Call Back)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的(1)模式就是回调机制的一个面向对象的替代品。该模式的意图是(2)。 空白(2)处应选择()

    • A、使原本由于接口不兼容而不能一起工作的那些类可以一起工作
    • B、将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作
    • C、定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新
    • D、使算法可独立于使用它的客户而变化

    正确答案:B

  • 第21题:

    填空题
    ()模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。

    正确答案: 责任链
    解析: 暂无解析

  • 第22题:

    填空题
    ()模式能够提供一种方法按照顺序访问一个聚合对象中的所有元素,而又不需要暴露该对象的内部表示。

    正确答案: 迭代器
    解析: 暂无解析

  • 第23题:

    单选题
    以下意图哪个是用来描述状态模式()
    A

    使多个对象都有机会处理请求,避免请求的发送者和接收者之间的耦合关系

    B

    顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示

    C

    允许一个对象在其内部状态改变时改变它的行为。看起来似乎修改了它的类

    D

    捕获一个对象的内部状态,并在该对象之外保存这个状态


    正确答案: B
    解析: 暂无解析