下列设计模式中,( )模式既是类结构型樽式,又是对象结构型模式。此模式与( )模式类似的特征是,都给另一个对象提供了一定程度上的间接性,都涉及到从自身以外的一个接口向这个对象转发请求。A.桥接(Bridge) B.适配器(Adapter) C.组成(Composite) D.装饰器 (Decorator) A.桥接(Bridge) B.适配器(Adapter) C.组成(Composite) D.装饰器 (Decorator)

题目

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

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


相似考题
更多“下列设计模式中,( )模式既是类结构型樽式,又是对象结构型模式。此模式与( )模式类似的特征是,都给 ”相关问题
  • 第1题:

    行为型模式是对在不同对象之间划分责任和算法的抽象化,它可以分为类行为模式和对象行为模式。下列行为型模式中属于类行为模式的是( )。

    A.职责链模式 B.命令模式C.迭代器模式 D.解释器模式


    正确答案:D

  • 第2题:

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

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

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

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

  • 第3题:

    自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零:交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用( )模式设计实现,其类图如下图所示,其中( )是客户程序使用的主要接口,可用状态来对其进行配置。此模式为(请作答此空),体现的最主要的意图是( )。

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

    答案:D
    解析:
    状态型模式的特点是对于对象内部的状态,允许其在不同的状态下,拥有不同的行为,对状态单独封装成类。题干中根据投入货币的情况,售货机分别有交付产品不找零和交付产品找零以及不提供货物等行为判断该模式是属于状态模式。VendingMachineState是客户程序使用的主要接口。设计模式的类型如下所示:

    观察者模式(ObserverPattern):观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。访问者模式(VisitorPattern):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用与这些元素的新操作。即对于某个对象或者一组对象,不同的访问者,产生的结果不同,执行操作也不同。备忘录模式(MementoPattern):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。策略模式(StrategyPattern):策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。命令模式(CommandPattern):将一个请求封装成一个对象,从而使得用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。

  • 第4题:

    结构型设计模式涉及如何组合类和对象以获得更大的结构,以下( )模式是结构型模式。

    A.Adapter
    B.Template Method
    C.Mediator
    D.Observer

    答案:A
    解析:
    本题考查设计模式的基本概念。
    在面向对象系统设计中,每一个设计模式都集中于一个特定的面向对象设计问题或设计要点,描述了什么时候使用它,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍。
    按照设计模式的目的可以分为创建型模式、结构型模式和行为型模式3大类。创建型模式与对象的创建有关;结构型模式处理类或对象的组合,涉及如何组合类和对象以获得更大的结构;行为型模式对类或对象怎样交互和怎样分配职责进行描述。创建型模式包括Factory Method、Abstract Factory、Builder、Prototype和Singleton;结构型模式包括Adapter(类)、Adapter(对象)、Bridge、(iomposite、Decorator、Facade、Flyweight和Proxy;行为型模式包括Interpreter、Template Method、Chain of Responsibility、Command、Iterator、Mediator、Memento Observer State Strategy和Visitor。

  • 第5题:

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

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

    答案:B
    解析:
    选项A代理(Proxy)模式适用于在需要比较通用和复杂的对象指针代替简单的指针的时候,常见情况有:远程代理(Remote Proxy)为一个对象在不同地址空间提供据不代表;虚代理 (Virtual Proxy)根据需要创建开销很大的对象;保护代理(Protection Proxy)控制对原始对象的访问,用于对象应该有不同的访问权限的时候;智能指引(Smart Reference)取代了简单的指针,它在访问对象时执行一些附加操作选项B生成器/建造者(Builder)模式将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示选项C组合(Composite)模式将对象组合成树形结构以表示“部分-整体”的层次结构它使得客户对单个对象和复合对象的使用具有一致性选项D观察者(Observer)模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新发生改变的对象称为观察目标,被通知的对象称为观察者一个观察目标可以对应多个观察者从本题图中可看出,类Leaf表示叶子节点(部分节点),类Composite表示组合节点(整体节点),它们同时继承于父类Component,同时实现了相同的操作Operation,这使得客户对单个对象(Leaf类对象)和复合对象(Composite类对象)的使用具有一致性,试题(44)选择C选项组合模式将对象组合成树形结构以表示“部分-整体”的层次结构关系,故试题(45)选择B选项,试题(46)选择A选项

  • 第6题:

    假设现在要创建一个 Web应用框架,基于此框架能够创建不同的具体 Web应用,比如博客、 新闻网站和网上商店等;并可以为每个 Web 应用创建不同的主题样式,如浅色或深色等。这一 业务需求的类图设计适合采用(如下图所示)模式( )。其中( )是客户程序使用的 主要接口,维护对主题类型的引用。此模式为(请作答此空),体现的最主要的意图是( )。


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

    答案:B
    解析:
    桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。

  • 第7题:

    关于设计模式的描述不正确的是( )

    A.设计模式,包括模式名称问题目的解决方案效果实例代码和相关设计模式等基本要素
    B.根据处理范围不同设计模式分为类模式和对象模式
    C.根据目的和用途不同设计模式分为创建型模式结构型模式和行为型模式
    D.对象模式处理对象之间的关系,这些关系通过继承建立在编译的时刻就被确定下来属于静态关系

    答案:D
    解析:
    根据处理范围不同,设计模式可分为类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,属于静态关系。所以D选择错误。

  • 第8题:

    按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有(请作答此空 )模式等;( )模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;( )模式主要用于对象之间的职责及其提供服务的分配方式,其代表有( )模式等。


    A. Decorator
    B. Fly weight
    C. Command
    D.Singleton


    答案:D
    解析:
    按照设计模式的目的进行划分,现有的设计模式可以分为三类。创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有Singleton模式等;结构型模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;行为型模式主要用于对象之间的职责及其提供服务的分配方式,其代表有Visitor模式等。

  • 第9题:

    按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有(9)模式等;(10)模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;(11)模式主要用于对象之间的职责及其提供服务的分配方式,其代表有(12)模式等。【回答括号10】

    A.. 合成型
    B. 组合型
    C. 结构型
    D. 聚合型

    答案:C
    解析:
    按照设计模式的目的进行划分,现有的设计模式可以分为三类。

    创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有Singleton模式等;

    结构型模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;

    行为型模式主要用于对象之间的职责及其提供服务的分配方式,其代表有Visitor模式等。

  • 第10题:

    按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有( )模式等;( 请作答此空)模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;( )模式主要用于对象之间的职责及其提供服务的分配方式,其代表有( )模式等。

    A. 合成型
    B. 组合型
    C. 结构型
    D. 聚合型

    答案:C
    解析:
    按照设计模式的目的进行划分,现有的设计模式可以分为三类。创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有Singleton模式等;结构型模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;行为型模式主要用于对象之间的职责及其提供服务的分配方式,其代表有Visitor模式等。

  • 第11题:

    判断题
    组合模式是一种类的结构型模式
    A

    B


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

  • 第12题:

    填空题
    设计模式根据设计目的分为创建型模式、结构型模式和()。

    正确答案: 行为型模式
    解析: 暂无解析

  • 第13题:

    结构型设计模式涉及如何组合类和对象以获得更大的结构,以下( )模式是结 构型模式。

    A. Adapter B. Template MethodC. MediatorD. Observer


    正确答案:A

  • 第14题:

    结构型设计模式涉及如何组合类和对象以获得更大的结构,分为结构型类模式和 结构型对象模式。其中,结构型类模式采用继承机制来组合接口或实现,而结构型对象模式描述了如何对一些对象进行组合,从而实现新功能的一些方法。以下(48)模式是结构型对象模式。

    A.中介者 (Mediator)
    B.构建器(Builder)
    C.解释器(Interpreter)
    D.组合(Composite)

    答案:D
    解析:
    结构型模式是描述如何将类对象结合在一起,形成一个更大的结构,结构模式描述两种不同的东西:类与类的实例。故可以分为类结构模式和对象结构模式。在GoF设计模式中,结构型模式有: 1.适配器模式 Adapter 2.桥接模式 Bridge 3.组合模式 Composite 4.装饰模式Decorator 5.外观模式 Facade 6.享元模式 Flyweight 7.代理模式 Proxy

  • 第15题:

    假设现在要创建一个简单的超市销售系统,顾客将毛巾、饼干、酸奶等物品(Item)加入购物车(Shopping_Cart),在收银台(Checkout)人工(Manual)或自动(Auto)地将购物车中每个物品的价格汇总到总价格后结帐。这一业务需求的类图(方法略)设计如下图所示,采用了( )模式。其中( )定义以一个Checkout对象为参数的accept操作,由子类实现此accept操作。此模式为(请作答此空),适用于( )。

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

    答案:D
    解析:
    访问者模式包含如下角色:Vistor :抽象访问者ConcreteVisitor:具体访问者Element: 抽象元素ConcreteElement:具体元素ObjectStructure:对象结构

  • 第16题:

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

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

    答案:D
    解析:
    适配器模式(Adapter)用于将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
    适配器有类结构和对象结构两种模式,如下图所示。在类适配器中,因为Adapter类既继承了Adaptee(被适配类),也实现了Target接口,在Client类中我们可以根据需要选择并创建任一种符合需求的子类,来实现具体功能。在对象适配器中,Adapter不是使用多继承或继承再实现的方式,而是使用直接关联,或者称为委托的方式。装饰器模式用于动态地给一个对象添加一些额外的职责或者行为。装饰器模式提供了改变子类的灵活方案。装饰器模式在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。当用于一组子类时,装饰器模式更加有用。如果你拥有一组子类(从一个父类派生而来),你需要在与子类独立使用情况下添加额外的特性,你可以使用装饰器模式,以避免代码重复和具体子类数量的增加。
    桥接(bridge)模式。桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(handle and body)模式或接口(interface)模式。桥接模式类似于多重继承方案,但是多重继承方案往往违背了类的单一职责原则,其复用性比较差,桥接模式是比多重继承方案更好的解决方法。第47题选A、D均可。

  • 第17题:

    自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零 :交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用(44)模式设计实现,其类图如下图所示,其中(45)是客户程序使用的主要接口,可用状态来对其进行配置。此模式为(46),体现的最主要的意图是(47)。


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

    答案:D
    解析:

  • 第18题:

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

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

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

  • 第19题:

    按照设计模式的目的进行划分,现有的设计模式可以分为三类。()模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;

    A.. 合成型
    B. 组合型
    C. 结构型
    D. 聚合型

    答案:C
    解析:
    结构型模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;

  • 第20题:

    按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有(9)模式等;(10)模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;(11)模式主要用于对象之间的职责及其提供服务的分配方式,其代表有(12)模式等。【回答括号11】

    A.. 行为型
    B. 交互型
    C. 耦合性
    D. 关联型

    答案:A
    解析:
    按照设计模式的目的进行划分,现有的设计模式可以分为三类。

    创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有Singleton模式等;

    结构型模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;

    行为型模式主要用于对象之间的职责及其提供服务的分配方式,其代表有Visitor模式等。

  • 第21题:

    按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有( )模式等;( )模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;(请作答此空 )模式主要用于对象之间的职责及其提供服务的分配方式,其代表有( )模式等。

    A. 行为型
    B. 交互型
    C. 耦合性
    D. 关联型

    答案:A
    解析:
    按照设计模式的目的进行划分,现有的设计模式可以分为三类。创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有Singleton模式等;结构型模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;行为型模式主要用于对象之间的职责及其提供服务的分配方式,其代表有Visitor模式等。

  • 第22题:

    设计模式的分类有()

    • A、创建型模式
    • B、结构型模式
    • C、行为型模式
    • D、代理型模式

    正确答案:A,B,C

  • 第23题:

    单选题
    以下关于结构型模式说法不正确的是 。()
    A

    结构型模式可以在不破坏类封装性的基础上,实现新的功能

    B

    结构型模式主要用于创建一组对象

    C

    结构型模式可以创建一组类的统一访问接口。

    D

    结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互


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