Strategy模式使得算法可独立于使用它的客户而变化。

题目

Strategy模式使得算法可独立于使用它的客户而变化。

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

● (47) 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

(47)

A. Adapter(适配器)模式

B.Command(命令)模式

C.Singleton(单例)模式

D.Strategy(策略)模式


正确答案:A

第2题:

限制了创建类的实例数量,而(41)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

A.命令模式(Command)

B.适配器模式(Adapter)

C.策略模式(Strategy)

D.单例模式(Singleton)


正确答案:D

第3题:

● 回调(Callback)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的 (4) 模式就是回调机制的一个面向对象的替代品。该模式的意图是 (5) 。

(4)

A. Strategy(策略)

B. Adapter(适配器)

C. Command(命令)

D. Observer(观察者)

(5)

A. 使原本由于接口不兼容而不能一起工作的那些类可以一起工作

B. 将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作 C. 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新

D. 使算法可独立于使用它的客户而变化


正确答案:C,B

 


第4题:

(请作答此空)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下( )情况适合选用该模式。①一个客户需要使用一组相关对象②一个对象的改变需要改变其他对象③需要使用一个算法的不同变体④许多相关的类仅仅是行为有异

A.命令(Command)
B.责任链(ChainofResponsibility)
C.观察者(Observer)
D.策略(Strategy)

答案:D
解析:
命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。责任链:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。策略模式:定义一系列的算法,把每一个算法封装起来,并且是它们可互相替换。本模式使得算法可独立于使用它的客户而变化。

第5题:

● (40) 限制了创建类的实例数量,而 (41) 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

(40)

A. 命令模式(Command)

B. 适配器模式(Adapter)

C. 策略模式(Strategy)

D. 单例模式(Singleton)

(41)

A. 命令模式(Command)

B. 适配器模式(Adapter)

C. 策略模式(Strategy)

D. 单例模式(Singleton)


正确答案:D,B

第6题:

(44)设计模式定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。这一模式使得算法可独立于它的客户而变化。

A.策略(Strategy)

B.抽象工厂(Abstract Factory)

C.观察者(Visitor)

D.状态(State)


正确答案:A
观察者模式(有时又被称为发布-订阅Subscribe>模式、模型-视图View>模式、源-收听者Listener>模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。

第7题:

图1-5UML类图所示意的设计模式的意图是(49)。

A.使原本由于接口不兼容而不能一起工作的那些类可以一起工作

B.使算法可独立于使用它的客户而变化

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

D.将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作


正确答案:D
解析:图1-5 UML类图所描绘的设计模式中的Command(命令)模式。该模式的设计意图就是“将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作”。其中一种应用场合就是抽象出待执行的动作以参数化某种对象,可用过程语言中的回调(callback)函数表达这种参数化机制。Command模式是回调机制的一个面向对象的替代品。Adapter(适配器)模式是一种类对象结构型模式。通过将一个的类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。Strategy(策略)模式使得算法可独立于使用它的客户而变化。Observer(观察者)模式的设计意图就是“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新”。

第8题:

以下关于状态(State)模式和策略(Strategy)模式的叙述中,说法错误的是(48)。

A.对于客户程序而言,State模式比Strategy模式更透明

B.Strategy模式用来处理算法变化,State模式用来处理状态变化

C.State模式的对象变化频率比Strategy模式的对象高

D.State模式的“状态”是在对象外部,Strategy模式的“策略”是在对象内部


正确答案:D
解析:State(状态)模式的设计意图是:允许一个对象在其,内部状态改变时变更它的行为。而Strategy(策略)模式的设计意图是:定义一系列的算法,把它们一个一个地封装起来,并且使它们可相互替换。可见,Strategy模式用来处理算法变化,而State模式则是处理状态变化。strategy模式在概念结构上与state模式非常相似,但它们各自的目的不同。区分这两个模式的关键是看行为是由状态驱动还是由一组算法驱动。通常,State模式的“状态”是在对象内部的,Strategy模式的“策略”可以在对象外部。Strategy模式中,算法是否变化完全是由客户程序开始决定的,而且往往一次只能选择一种算法,不存在算法中途发生变化的情况。而State模式如其定义中所言,在它的生命周期中随时存在着状态的转变和行为的更改,而且状态变化是一个线形的整体。对于客户程序而言,这种状态变化往往是透明的。

第9题:

创建型设计模式抽象了实例化过程,帮助一个系统独立于如何创建、组合和表示的那些对象。以下(48)模式是创建型模式。

A.组合(Composite)
B.构建器(Builder)
C.桥接(Bridge)
D.策略(Strategy)

答案:B
解析:
本题考查设计模式的基本概念。
每个设计模式描述了一个不断重复发生的问题,以及该问题的解决方案的核心。在面向对象系统设计中,每一个设计模式都集中于一个特定的面向对象设计问题或设计要点,何时适合使用它,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍。
按照设计模式的目的可以分为创建型模式、结构型模式和行为型模式三大类。创建型模式与对象的创建有关,将实例化过程加以抽象,帮助—个系统独立于如何创建、组合和表示它的那些对象,包括FactoryMethod、Abstract Factory、Builder、Prototype和Singleton;结构型模式处理类或对象的组合,涉及如何组合类和对象以获得更大的结构,包括Adapter(类)、Adapter(对象)、Bridge、Composite、Decorator、Facade、Flyweight和Proxy;行为型模式对类或对象怎样交互和怎样分配职责进行描述,包括Interpreter、TemplateMethod、Chain of Responsibility、Command、Iterator、Mediator、Memento Observer State Strategy和Visitor。

第10题:

某模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下( )情况适合选用该模式。
①一个客户需要使用一组相关对象
②一个对象的改变需要改变其它对象
③需要使用一个算法的不同变体
④许多相关的类仅仅是行为有异

A.①②
B.②③
C.③④
D.①④

答案:C
解析:
策模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换策模式让算法独立于使用它的客户而独立变化
应用场景:
1、 多个类只区别在表现行为不同,可以使用Strategy模式,在运行时动态选择具体要执行的行为
2、 需要在不同情况下使用不同的策(算法),或者策还可能在未来用其它方式来实现
3、 对客户隐藏具体策(算法)的实现细节,彼此完全独立

更多相关问题