itgle.com

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

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

A.VendingMachineState
B.Buy
C.VendingDepositState
D.VendingStockState

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

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

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

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

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

  • 第2题:

    在UML提供的图中,可以采用( )对逻辑数据库模式建模;( )用于接口、类和协作的行为建模,并强调对象行为的事件顺序;(请作答此空)用于系统的功能建模,并具强调对象间的控制流。

    A.状态图
    B.用例图
    C.活动图
    D.类图

    答案:C
    解析:

  • 第3题:

    如下UML类图表示的是( )设计模式。以下关于该设计模式的叙述中,错误是(请作答此空)。

    A.提供创建一系列相关或相互依赖的对象的接口,而无需指定这些对象所属的具体类
    B.可应用于一个系统要由多个产品系列中的一个来配置的时候
    C.可应用于强调一系列相关产品对象的设计以便进行联合使用的时候
    D.可应用于希望使用已经存在的类,但其接口不符合需求的时候

    答案:D
    解析:
    本题考查面向对象方法中的设计模式知识。
    题中的类图是抽象工厂设计模式,该设计模式的意图是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。使用抽象工厂设计模式的常见情形是:一个系统要独立于其产品的创建、组合和表示时;一个系统要由多个产品系列中的一个来配置时;当需要强调一系列相关的产品对象的设计以便进行联合使用时;当提供一个产品类库,而只想显示它们的接口不是实现时。对于希望使用已经存在的类,但其接口不符合需求的情形,应当考虑适配器设计模式。

  • 第4题:

    下图为某设计模式的类图,类State和Context的关系为( ),类(请作答此空)是客户使用的主要接口。

    A.Context
    B.ConcreteStateA
    C.ConcreteStateB
    D.State

    答案:A
    解析:
    本题考查面向对象技术和UML的基本概念和基础知识。
    上述图是UML状态模式的类图。类图描述了系统中各类对象以及它们之间的各种关系。在该类图中,类State和Context的关系为聚合关系,客户访问类Context。

  • 第5题:

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


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

    答案:D
    解析:

  • 第6题:

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


    A.观察者(Observer)
    B.访问者(Visitor)
    C.策略(Strategy)
    D.桥接(Bridge)

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

  • 第7题:

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


    A.当一个对象状态改变时所有依赖它的对象得到通知并自动更新
    B.在不破坏封装性的前提下,捕获对象的内部状态并在对象之外保存
    C.一个对象在其内部状态改变时改变其行为
    D.将请求封装为对象从而可以使用不同的请求对客户进行参数化

    答案:C
    解析:

  • 第8题:

    欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于( )的情况,该模式属于(请作答此空)模式。

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

    答案:B
    解析:
    桥接模式模式属于结构型对象模式,可以将抽象部分与其实现部分分离,使它们都可以独立的变化。桥接模式适用于不希望在抽象和它的实现部分之间有一个固定判定关系。Drawing类是抽象类,Shape类是实现类,在桥接图中由抽象类指向实现类。适配器模式将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。装饰模式动态地给一个对象添加一些额外的职责。就扩展功能而言,Decorator模式比生成子类方式更为灵活。组合模式将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得客户对单个对象和复合对象的使用具有一致性。

  • 第9题:

    下图所示为观察者(Obserrver)模式的抽象示意图,其中( )知道其观察者,可以有任何多个观察者观察同一个目标;提供住处和删除观察者对象的接口。此模式体现的最主要的特征是(请作答此空)。

    A.类应该对扩展开放,对修改关闭
    B.使所要交互的对象尽量松耦合
    C.组合优先于继承使用
    D.仅与直接关联类交互

    答案:A
    解析:
    观察者将自己注册到事件,那么具体的事件就知道了自己的观察者观察者和事件都有自己的抽象,当实现具体的观察者和事件的时候都要实现相应接口,所以对扩展是开放的

  • 第10题:

    下图所示为观察者(Obserrver)模式的抽象示意图,其中(请作答此空)知道其观察者,可以有任何多个观察者观察同一个目标;提供住处和删除观察者对象的接口。此模式体现的最主要的特征是( )。

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

    答案:C
    解析:
    观察者将自己注册到事件,那么具体的事件就知道了自己的观察者观察者和事件都有自己的抽象,当实现具体的观察者和事件的时候都要实现相应接口,所以对扩展是开放的

  • 第11题:

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


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


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

  • 第12题:

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


    A. Vending MachineState
    B. Buy
    C. Vending DepositState
    D. Vending Stock State

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

    设计模式的类型如下所示:

    观察者模式(Observer Pattern):观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。

    访问者模式(Visitor Pattern):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用与这些元素的新操作。即对于某个对象或者一组对象,不同的访问者,产生的结果不同,执行操作也不同。

    备忘录模式(Memento Pattern):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。

    策略模式(Strategy Pattern):策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

    命令模式(Command Pattern):将一个请求封装成一个对象,从而使得用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。

  • 第13题:

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

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

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

  • 第14题:

    下图为某设计模式的类图,类State和Context的关系为(请作答此空),类( )是客户使用的主要接口。

    A.继承
    B.实现
    C.聚合
    D.组合

    答案:C
    解析:
    本题考查面向对象技术和UML的基本概念和基础知识。
    上述图是UML状态模式的类图。类图描述了系统中各类对象以及它们之间的各种关系。在该类图中,类State和Context的关系为聚合关系,客户访问类Context。

  • 第15题:

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


    A.将抽象部分与其实现部分分离,使它们都可以独立地变化
    B.动态地给一个对象添加一些额外的职责
    C.为其他对象提供一种代理以控制对这个对象的访问
    D.将一个类的接口转换成客户希望的另外一个接口。

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

  • 第16题:

    欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于(请作答此空)的情况,该模式属于( )模式。

    A.不希望在抽象和它的实现部分之间有一个固定判定关系
    B.想表示对象的部分-整体层次结构
    C.想使用一个已经存在的类,而它的接口不符合要求
    D.在不影响其他对象的情况下,以动态透明的方式给单个对象添加职责

    答案:A
    解析:
    桥接模式模式属于结构型对象模式,可以将抽象部分与其实现部分分离,使它们都可以独立的变化。桥接模式适用于不希望在抽象和它的实现部分之间有一个固定判定关系。

  • 第17题:

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


    A.Webapplication
    B.Blog
    C.Theme
    D.Light

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

  • 第18题:

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

    A.VendingMachineState
    B.Buy
    C.VendingDepositState
    D.VendingStockState

    答案:A
    解析:

  • 第19题:

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


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

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

  • 第20题:

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


    A.观察者(Obeserver)
    B.状态(State)
    C.策略(Stratehy)
    D.访问者(Visitor)

    答案:B
    解析:

  • 第21题:

    设计模式中的( )模式将对象组合成树形结构以表示"部分一整体"的层次结构,使得客户对单个对象和组合对象的使用具有一致性。下图为该模式的类图,其中,( )定义有子部件的那些部件的行为;组合部件的对象由(请作答此空)通过component提供的接口操作。

    A.Client
    B.Component
    C.Leaf
    D.Composite

    答案:A
    解析:
    本题主要组合设计模式。组合设计模式将对象组合成树形结构以表示"部分一整体"的层次结构,使得客户对单个对象和组合对象的使用具有一致性。
    在类图中,Component为合成的对象声明接口;某些情况下,实现从此接口派生出所有类共有的默认行为,定义一个接口可以访问及管理它的多个部分(GetChild),如果必要也可以在递归结构中定义一个接口访问它的父节点,并且实现它;Leaf在合成中表示叶节点对象,叶节点没有子节点;Composite用来定义有子节点(子部件)的部件的行为,存储子节点(子部件);Client通过Component接口控制组合部分的对象。

  • 第22题:

    对于如下所示的序列图所描述的场景,最适合于采用的设计模式是( );该模式适用的场合是(请作答此空)。

    A.Visitor
    B.Strategy
    C.Observer
    D.State

    答案:A
    解析:
    访问者(visitor)模式是一种对象的行为模式,用于表示一个作用于某对象结构中的各元素的操作,它使得用户可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式使得新的操作变得很容易,但在一定程度上破坏了封装性。

  • 第23题:

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

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

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