请回答46,下图所示为(44)设计模式,属于(45)设计模式,适用于(46)。A.表示对象的部分—整体层次结构时 B.当一个对象必须通知其它对象,而它又不能假定其它对象是谁时 C.当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时 D.在需要比较通用和复杂的对象指针代替简单的指针时

请回答46,下图所示为(44)设计模式,属于(45)设计模式,适用于(46)。

A.表示对象的部分—整体层次结构时
B.当一个对象必须通知其它对象,而它又不能假定其它对象是谁时
C.当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时
D.在需要比较通用和复杂的对象指针代替简单的指针时

参考解析

解析:本题考查面向对象设计模式知识点设计模式是一套被反复使用、经过分类编目的代码设计经验的总结使用设计模式是为了复用成功的设计和体系结构、复用相似问题的相同解决方案,保证代码可靠性,使代码编制真正工程化,能够适应需求的变化共有23种设计模式

组合(Composite)模式将对象组合成树形结构以表示“部分-整体”的层次结构它使得客户对单个对象和复合对象的使用具有一致性

设计模式有如下的分类:

1.创建型模式单独对对象的创建进行研究,从而能够高效地创建对象6个创建型模式:简单工厂模式(SimpleFactory)、工厂方法模式(FactoryMethod)、抽象工厂模式(AbstractFactory)、创建者模式(Builder)、原型模式(Prototype)、单例模式(Singleton)

2.结构型模式研究对象的组成以及对象之间的依赖关系,如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等有7个具体的结构型模式可供研究,它们分别是:外观模式(Facade)、适配器模式(Adapter)、代理模式(Proxy)、装饰模式(Decorator)、桥接模式(Bridge)、组合模式(Composite)、享元模式(Flyweight)

3.行为型模式行为型设计模式是对对象的行为进行研究,它们分别是:模板方法模式(TemplateMethod)、观察者模式(Observer)、状态模式(State)、策模式(Strategy)、职责链模式(ChainofResponsibility)、命令模式(Command)、访问者模式(Visitor)、调停者模式(Mediator)、备忘录模式(Memento)、迭代器模式(Iterator)、解释器模式(Interpreter)

从本题图中可看出,类Leaf表示叶子节点(部分节点),类Composite表示组合节点(整体节点),它们同时继承于父类Component,同时实现了相同的操作Operation,这使得客户对单个对象(Leaf类对象)和复合对象(Composite类对象)的使用具有一致性,试题(44)选择C选项组合模式将对象组合成树形结构以表示“部分-整体”的层次结构关系,故试题(45)选择B选项,试题(46)选择A选项


相关考题:

● 采用 (43) 设计模式可保证一个类仅有一个实例;采用 (44) 设计模式可将对象组合成树形结构以表示“部分-整体”的层次结构, 使用户对单个对象和组合对象的使用具有一致性;采用 (45) 设计模式可动态地给一个对象添加一些额外的职责。(43)A. 命令(Command) B. 单例(Singleton) C. 装饰(Decorate) D. 组合(Composite)(44)A. 命令(Command) B. 单例(Singleton) C. 装饰(Decorate) D. 组合(Composite)(45)A. 命令(Command) B. 单例(Singleton) C. 装饰(Decorate) D. 组合(Composite)

采用( )设计模式可保证一个类仅有一个实例;采用( )设计模式可将对象组合成树形结构以表示“部分一整体”的层次结构,使用户对单个对象和组合对象的使用具有一致性;采用( )设计模式可动态地给一个对象添加一些额外的职责。A.命令(Command)B.单例(Singleton)C.装饰(Deeorate)D.组合(Composite)(44)

● 下面的UML类图描绘的是 (46) 设计模式。关于该设计模式的叙述中,错误的是 (47) 。(46)A. 桥接B. 策略C. 抽象工厂D. 观察者(47)A. 该设计模式中的Observer 需要维护至少一个Subject对象B. 该设计模式中的ConcreteObserver 可以绕过 Subject及其子类的封装C. 该设计模式中一个Subject对象需要维护多个Observer 对象D. 该设计模式中Subject需要通知 Observer 对象其自身的状态变化

● 下列UML类图表示的是 (46) 设计模式。该设计模式中, (47) 。(46)A. 备忘录(Memento)B. 策略(Strategy)C. 状态(State)D. 观察者(Observer)(47)A. 一个Subject对象可对应多个Observer对象B. Subject只能有一个ConcreteSubject子类C. Observer只能有一个ConcreteObserver子类D. 一个Subject对象必须至少对应一个Observer对象

对于如下所示的序列图所描述的场景,最适合于采用的设计模式是( );该模式适用的场合是( )。A.Visitor B.Strategy C.Observer D.State A.对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为 B.定义对象结构的类很少改变,但经常需要在此结构上定义新的操作 C.需要使用一个算法的不同变体 D.一个对象必须通知其它对象,而它又不能假定其它对象是谁

●在面向对象系统中,对象的属性是(44)。(44)A.对象的行为特性B.和其它对象相关联的方式C.和其它对象相互区分的特性D.与其它对象交互的方式

下图所示为 ( ) 设计模式,适用于 (请作答此空) 。A.一个系统要由多个产品系列中的一个来配置时B.当一个类希望由它的子类来指定它所创建的对象时C.当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时D.当一个系统应该独立于它的产品创建、构成和表示时

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

下面的UML类图描绘的是( )设计模式。关于该设计模式的叙述中,错误的是(请作答此空)。A.该设计模式中的Observer需要维护至少一个Subject对象B.该设计模式中的ConcreteObserver可以绕过Subject及其子类的封装C.该设计模式中一个Subject对象需要维护多个Observer对象D.该设计模式中Subject需要通知Observer对象其自身的状态变化

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

请作答45,下图所示为(44)设计模式,属于(45)设计模式,适用于(46)A.创建型B.结构型 C.行为 D.结构型和行为

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

下图所示为(46)设计模式,适用于(47)。A.一个系统要由多个产品系列中的一个来配置时B.当一个类希望由它的子类来指定它所创建的对象时C.当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时D.当一个系统应该独立于它的产品创建、构成和表示时

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

下图所示为 ( ) 设计模式,属于 ( ) 设计模式,适用于 (请作答此空) 。A.表示对象的部分—整体层次结构时B.当一个对象必须通知其他对象,而它又不能假定其他对象是谁时C.当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时D.在需要比较通用和复杂的对象指针代替简单的指针时

A.表示对象的部分—整体层次结构时 B. 当一个对象必须通知其它对象,而它又不能假定其它对象是谁时 C.当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时 D.在需要比较通用和复杂的对象指针代替简单的指针时

对于如下所示的序列图所描述的场景,最适合于采用的设计模式是(请作答此空);该模式适用的场合是( )。A.对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为B.定义对象结构的类很少改变,但经常需要在此结构上定义新的操作C.需要使用一个算法的不同变体D.一个对象必须通知其它对象,而它又不能假定其它对象是谁

对于如下所示的序列图所描述的场景,最适合于采用的设计模式是( );该模式适用的场合是(请作答此空)。A.对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为B.定义对象结构的类很少改变,但经常需要在此结构上定义新的操作C.需要使用一个算法的不同变体D.一个对象必须通知其他对象,而它又不能假定其他对象是谁

对于如下所示的序列图所描述的场景,最适合于采用的设计模式是(30);该模式适用的场合是(31)。A.对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为B.定义对象结构的类很少改变,但经常需要在此结构上定义新的操作C.需要使用一个算法的不同变体D.一个对象必须通知其它对象,而它又不能假定其它对象是谁

对于如下所示的序列图所描述的场景,最适合于采用的设计模式是( );该模式适用的场合是(请作答此空)A.. 对象的行为决定于它的状态,且必须在运行时刻根据状态改变它的行为B. 定义对象结构的类很少改变,但经常需要在此结构上定义新的操作C. 需要使用一个算法的不同变体D. 一个对象必须通知其他对象,而它又不能假定其他对象是谁

Observer(观察者)模式适用于()A、当一个抽象模型存在两个方面,其中一个方面依赖于另一方面,将这二者封装在独立的对象中以使它们可以各自独立地改变和复用B、当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变时C、当一个对象必须通知其它对象,而它又不能假定其它对象是谁也就是说你不希望这些对象是紧密耦合的D、一个对象结构包含很多类对象,它们有不同的接口,而想对这些对象实施一些依赖于其具体类的操作

关于模式适用性,在以下情况不适合使用PROXY(代理)模式?()A、你想使用一个已经存在的类,而它的接口不符合你的需求B、根据需要创建开销很大的对象C、在需要用比较通用和复杂的对象指针代替简单的指针的时候D、取代了简单的指针,它在访问对象时执行一些附加操作

关于模式适用性,在以下情况可以使用builder模式?()A、当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时B、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时C、当构造过程必须允许被构造的对象有不同的表示时D、一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为

单选题关于模式适用性,在以下情况可以使用builder模式?()A当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时B当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时C当构造过程必须允许被构造的对象有不同的表示时D一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为

单选题关于模式适用性,在以下情况不适合使用PROXY(代理)模式?()A你想使用一个已经存在的类,而它的接口不符合你的需求B根据需要创建开销很大的对象C在需要用比较通用和复杂的对象指针代替简单的指针的时候D取代了简单的指针,它在访问对象时执行一些附加操作

单选题关于模式适用性,在以下情况不适合使用OBSERVER(观察者)模式?()A当一个抽象模型有两个方面,其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用B当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变C当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之,你不希望这些对象是紧密耦合的D在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责

单选题关于模式适用性,在以下情况不适合使用STRATEGY(策略)模式?()A当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之,你不希望这些对象是紧密耦合的B许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法C需要使用一个算法的不同变体。例如,你可能会定义一些反映不同的空间/时间权衡的算法。当这些变体实现为一个算法的类层次时可以使用策略模式D算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构