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

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

A.命令(Command)
B.责任链(ChainofResponsibility)
C.观察者(Observer)
D.策略(Strategy)
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.策略(Strategy)

B.抽象工厂(Abstract Factory)

C.观察者(Visitor)

D.状态(State)


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

第2题:

当我们想封装不同算法并使用他们可相互替换时,可以使用()

A.桥接模式

B.命令模式

C.策略模式

D.工厂模式


参考答案:A

第3题:

常用的页面调度算法有哪些,给出它们各自的算法。


参考答案:(1)先进先出调度算法(FIFO):该算法淘汰进入内存时间最长的页面,这是一种简单的页面淘汰算法。FIFO算法有可能产生异常现象(Belady异常),即当分给一个进程的页面数增多时,缺页中断次数反而增加。
(2)最近最少使用调度算法(LRU):该算法淘汰上一次访问时间距当前时间间隔最长的页面。该算法是依据局部性特征提出的,认为末被使用时间最长的页面,那么它很可能最近不被使用,故应淘汰。LRU算法的实现开销较大,需要有硬件支持。
(3)最近最不经常使用调度算法(LFU):该算法淘汰最近一段时间内,访问次数最少的页面。

第4题:

如果尺寸是零件系列表驱动的,能在视觉上区分它们吗?()

  • A、不,它们看起来一样
  • B、可以,它们有个X符号
  • C、可以,它们的颜色不同
  • D、可以,它们的名称不同

正确答案:C

第5题:

下图是( )设计模式的类图,该设计模式的目的是(请作答此空),图中,ConcreteStrategy和Strategy之间是( )关系,Strategy和Context之间是( )关系。

A.将一个类的接口转换为客户期望的另一种接口,使得原本不匹配的接口而无法合作的类可以一起工作
B.定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。
C.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能
D.为一个对象提供代理以控制该对象的访问

答案:B
解析:
适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。策略模式:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,带普通箭头的实心线指向被拥有者。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。

第6题:

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

A.命令(Command)

B.责任链(Chain of Responsibility)

C.观察者(Observer)

D.策略(Strategy)


正确答案:D

第7题:

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


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

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

第8题:

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

A.为特定的客户(或情况)提供特定系列的对象

B.定义一系列的算法并将它们一个个封装起来,使它们可以相互替换

C.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

D.定义一个用于创建对象的接口,让子类决定实例化哪一个类


正确答案:B
解析:图5-6UML类图所描绘的设计模式中的Strategy(策略)模式。其设计意图是:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。换言之,Strategy(策略)模式使得算法可独立于使用它的客户而变化。Abstract Factory(抽象工厂)模式的设计意图是:为特定的客户(或情况)提供特定系列的对象。Builder(建造)模式的设计意图是:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。Factory Method(工厂方法)模式也称为Polymorphic Factory(多态性工厂)模式或Virtual Constructor (虚拟构造器),其设计意图是:定义一个用于创建对象的接口,让子类决定实例化哪一个类。

第9题:

当我们想封装不同算法并使用他们可相互替换时,可以使用()

  • A、桥接模式
  • B、命令模式
  • C、策略模式
  • D、工厂模式

正确答案:A

第10题:

关于子类型的陈述错误的是哪项:()

  • A、它们可以用来组织单个字段的属性值
  • B、它们能够为所有的字段类型所定义
  • C、它们可以帮助提高特征编辑的效率
  • D、它们只能在一个要素类中定义和使用

正确答案:B

更多相关问题