自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零:交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用(请作答此空)模式设计实现,其类图如下图所示,其中( )是客户程序使用的主要接口,可用状态来对其进行配置。此模式为( ),体现的最主要的意图是( )。A.观察者(Obeserver)B.状态(State)C.策略(Stratehy)D.访问者(Visitor)
自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零:交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用(请作答此空)模式设计实现,其类图如下图所示,其中( )是客户程序使用的主要接口,可用状态来对其进行配置。此模式为( ),体现的最主要的意图是( )。
A.观察者(Obeserver)
B.状态(State)
C.策略(Stratehy)
D.访问者(Visitor)
B.状态(State)
C.策略(Stratehy)
D.访问者(Visitor)
参考解析
解析:状态型模式的特点是对于对象内部的状态,允许其在不同的状态下,拥有不同的行为,对状态单独封装成类。题干中根据投入货币的情况,售货机分别有交付产品不找零和交付产品找零以及不提供货物等行为判断该模式是属于状态模式。VendingMachineState是客户程序使用的主要接口。设计模式的类型如下所示:
观察者模式(ObserverPattern):观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。访问者模式(VisitorPattern):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用与这些元素的新操作。即对于某个对象或者一组对象,不同的访问者,产生的结果不同,执行操作也不同。备忘录模式(MementoPattern):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。策略模式(StrategyPattern):策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。命令模式(CommandPattern):将一个请求封装成一个对象,从而使得用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
观察者模式(ObserverPattern):观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。访问者模式(VisitorPattern):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用与这些元素的新操作。即对于某个对象或者一组对象,不同的访问者,产生的结果不同,执行操作也不同。备忘录模式(MementoPattern):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。策略模式(StrategyPattern):策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。命令模式(CommandPattern):将一个请求封装成一个对象,从而使得用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
相关考题:
配置库可用来存放配置项并记录与配置项相关的所有信息,是配置管理的有力工具。根据配置库的划分,在信息系统开发的某个阶段工作结束时形成的基线应存入(请作答此空);开发的信息系统产品完成系统测试之后等待交付用户时应存入( )。A.开发库 B.受控库 C.产品库 D.动态库
自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零:交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用( )模式设计实现,其类图如下图所示,其中(请作答此空)是客户程序使用的主要接口,可用状态来对其进行配置。此模式为( ),体现的最主要的意图是( )。A.VendingMachineStateB.BuyC.VendingDepositStateD.VendingStockState
假设现在要创建一个简单的超市销售系统,顾客将毛巾、饼干、酸奶等物品(Item)加入购物车(Shopping_Cart),在收银台(Checkout)人工(Manual)或自动(Auto)地将购物车中每个物品的价格汇总到总价格后结帐。这一业务需求的类图(方法略)设计如下图所示,采用了( )模式。其中(请作答此空)定义以一个Checkout对象为参数的accept操作,由子类实现此accept操作。此模式为( ),适用于( )。A.ItemB.Shopping_CartC.CheckoutD.Manual和Auto
自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零:交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用( )模式设计实现,其类图如下图所示,其中( )是客户程序使用的主要接口,可用状态来对其进行配置。此模式为( ),体现的最主要的意图是(请作答此空)。A.当一个对象状态改变时所有依赖它的对象得到通知并自动更新B.在不破坏封装性的前提下,捕获对象的内部状态并在对象之外保存C.一个对象在其内部状态改变时改变其行为D.将请求封装为对象从而可以使用不同的请求对客户进行参数化
自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零:交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用( )模式设计实现,其类图如下图所示,其中( )是客户程序使用的主要接口,可用状态来对其进行配置。此模式为(请作答此空),体现的最主要的意图是( )。 A创建型对象模式 B结构型对象模式 C行为型类模式 D行为型对象模式
假设现在要创建一个简单的超市销售系统,顾客将毛巾、饼干、酸奶等物品(Item)加入购物车(Shopping_Cart),在收银台(Checkout)人工(Manual)或自动(Auto)地将购物车中每个物品的价格汇总到总价格后结帐。这一业务需求的类图(方法略)设计如下图所示,采用了( )模式。其中( )定义以一个Checkout对象为参数的accept操作,由子类实现此accept操作。此模式为(请作答此空),适用于( )。A.创建型对象模式B.结构型对象模式C.行为型类模式D.行为型对象模式
在UML提供的图中,可以采用( )对逻辑数据库模式建模;( )用于接口、类和协作的行为建模,并强调对象行为的事件顺序;(请作答此空)用于系统的功能建模,并具强调对象间的控制流。A.状态图B.用例图C.活动图D.类图
如下UML类图表示的是( )设计模式。以下关于该设计模式的叙述中,错误是(请作答此空)。A.提供创建一系列相关或相互依赖的对象的接口,而无需指定这些对象所属的具体类B.可应用于一个系统要由多个产品系列中的一个来配置的时候C.可应用于强调一系列相关产品对象的设计以便进行联合使用的时候D.可应用于希望使用已经存在的类,但其接口不符合需求的时候
假设现在要创建一个 Web应用框架,基于此框架能够创建不同的具体 Web应用,比如博客、 新闻网站和网上商店等;并可以为每个 Web 应用创建不同的主题样式,如浅色或深色等。这一 业务需求的类图设计适合采用(如下图所示)模式( )。其中( )是客户程序使用的 主要接口,维护对主题类型的引用。此模式为( ),体现的最主要的意图是(请作答此空)。A.将抽象部分与其实现部分分离,使它们都可以独立地变化B.动态地给一个对象添加一些额外的职责C.为其他对象提供一种代理以控制对这个对象的访问D.将一个类的接口转换成客户希望的另外一个接口。
下图为某设计模式的类图,类State和Context的关系为( ),类(请作答此空)是客户使用的主要接口。A.ContextB.ConcreteStateAC.ConcreteStateBD.State
欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于(请作答此空)的情况,该模式属于( )模式。A.不希望在抽象和它的实现部分之间有一个固定判定关系B.想表示对象的部分-整体层次结构C.想使用一个已经存在的类,而它的接口不符合要求D.在不影响其他对象的情况下,以动态透明的方式给单个对象添加职责
自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零 :交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用(44)模式设计实现,其类图如下图所示,其中(45)是客户程序使用的主要接口,可用状态来对其进行配置。此模式为(46),体现的最主要的意图是(47)。A.创建型对象模式 B.结构型对象模式C.行为型类模式 D.行为型对象模式
假设现在要创建一个 Web应用框架,基于此框架能够创建不同的具体 Web应用,比如博客、 新闻网站和网上商店等;并可以为每个 Web 应用创建不同的主题样式,如浅色或深色等。这一 业务需求的类图设计适合采用(如下图所示)模式( )。其中( 请作答此空)是客户程序使用的 主要接口,维护对主题类型的引用。此模式为( ),体现的最主要的意图是( )。A.WebapplicationB.BlogC.ThemeD.Light
假设现在要创建一个 Web应用框架,基于此框架能够创建不同的具体 Web应用,比如博客、 新闻网站和网上商店等;并可以为每个 Web 应用创建不同的主题样式,如浅色或深色等。这一 业务需求的类图设计适合采用(请作答此空)模式(如下图所示)。其中( )是客户程序使用的 主要接口,维护对主题类型的引用。此模式为( ),体现的最主要的意图是( )。A.观察者(Observer)B.访问者(Visitor)C.策略(Strategy) D.桥接(Bridge)
自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零 :交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用(44)模式设计实现,其类图如下图所示,其中(45)是客户程序使用的主要接口,可用状态来对其进行配置。此模式为(46),体现的最主要的意图是(47)。A.VendingMachineState B.BuyC.VendingDepositState D.VendingStockState
自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零 :交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用(44)模式设计实现,其类图如下图所示,其中(45)是客户程序使用的主要接口,可用状态来对其进行配置。此模式为(46),体现的最主要的意图是(47)。A.当一个对象状态改变时所有依赖它的对象得到通知并自动更新B.在不破坏封装性的前提下,捕获对象的内部状态并在对象之外保存C.一个对象在其内部状态改变时改变其行为D.将请求封装为对象从而可以使用不同的请求对客户进行参数化
假设现在要创建一个 Web应用框架,基于此框架能够创建不同的具体 Web应用,比如博客、 新闻网站和网上商店等;并可以为每个 Web 应用创建不同的主题样式,如浅色或深色等。这一 业务需求的类图设计适合采用(如下图所示)模式( )。其中( )是客户程序使用的 主要接口,维护对主题类型的引用。此模式为(请作答此空),体现的最主要的意图是( )。A.创建型对象模式B.结构型对象模式C.行为型类模式D.行为型对象模式
欲开放一个绘图软件,要求使用不同的绘图程序绘制不同的图形,该绘图软件的扩展性要求将不断扩充新的图形和新的绘图程序,以绘制直线和图形为例,得到如下图所示的类图,该设计采用( )模式将抽象部分与其实现部分分离,使它们都可以独立的变化。其中( )定义了实现类接口,该模式适用于( )的情况,该模式属于(请作答此空)模式。A.创建型对象B.结构型对象C.行为型对象D.结构类型
自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零 :交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用(44)模式设计实现,其类图如下图所示,其中(45)是客户程序使用的主要接口,可用状态来对其进行配置。此模式为(46),体现的最主要的意图是(47)。A.观察者(Obeserver) B.状态(State)C.策略(Stratehy)D.访问者(Visitor)
下图所示为观察者(Obserrver)模式的抽象示意图,其中( )知道其观察者,可以有任何多个观察者观察同一个目标;提供住处和删除观察者对象的接口。此模式体现的最主要的特征是(请作答此空)。A.类应该对扩展开放,对修改关闭B.使所要交互的对象尽量松耦合C.组合优先于继承使用D.仅与直接关联类交互
设计模式中的( )模式将对象组合成树形结构以表示"部分一整体"的层次结构,使得客户对单个对象和组合对象的使用具有一致性。下图为该模式的类图,其中,( )定义有子部件的那些部件的行为;组合部件的对象由(请作答此空)通过component提供的接口操作。A.ClientB.ComponentC.LeafD.Composite
下图所示为观察者(Obserrver)模式的抽象示意图,其中(请作答此空)知道其观察者,可以有任何多个观察者观察同一个目标;提供住处和删除观察者对象的接口。此模式体现的最主要的特征是( )。A.SubjectB.ObserverC.ConcreteSubjectD.ConcreteObserver
按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有(请作答此空 )模式等;( )模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;( )模式主要用于对象之间的职责及其提供服务的分配方式,其代表有( )模式等。 A. DecoratorB. Fly weightC. CommandD.Singleton
按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有( )模式等;( )模式主要用于如何组合己有的类和对象以获得更大的结构,其代表有 Adapter 模式等;(请作答此空 )模式主要用于对象之间的职责及其提供服务的分配方式,其代表有( )模式等。A. 行为型B. 交互型C. 耦合性D. 关联型
自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零 :交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用 (13) 模式设计实现,其类图如下图所示,其中 (14) 是客户程序使用的主要接口,可用状态来对其进行配置。此模式为 (15) ,体现的最主要的意图是 (16) 。【回答括号14】 A. Vending MachineStateB. BuyC. Vending DepositStateD. Vending Stock State