首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。 ①一个客户需要使用一组相关对象 ②一个对象的改变需要改变其他对象 ③需要使用一个算法的不同变体 ④许多相关的类
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。 ①一个客户需要使用一组相关对象 ②一个对象的改变需要改变其他对象 ③需要使用一个算法的不同变体 ④许多相关的类
admin
2019-07-12
43
问题
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。
①一个客户需要使用一组相关对象
②一个对象的改变需要改变其他对象
③需要使用一个算法的不同变体
④许多相关的类仅仅是行为有异
(2)
选项
A、①②
B、②③
C、③④
D、①④
答案
C
解析
本题考查设计模式的基本概念。每种设计模式都有特定的意图和适用情况。
命令(Command)将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式适用于以下几种情况:
①抽象出待执行的动作以参数化某对象,此模式是过程语言中的回调(callback)机制的一个面向对象的替代方式;
②在不同的时刻指定、排列和执行请求;
③支持取消操作;
④支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍;
⑤用构建在原语操作上的高层操作构造一个系统。
责任链(Chain of Responsibility)使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。责任链模式适用于以下几种情况:
①有多个的对象可以处理一个请求,哪个对象处理该请求在运行时刻自动确定;
②在不明确指定接收者的情况下,向多个对象中的一个提交一个请求;
③可处理一个请求的对象集合应被动态指定。
观察者(Observer)模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者适用于以下几种情况:
①当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立地对象中以使它们可以各自独立地改变和复用;
②当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变时;
③当一个对象必须通知其他对象,而它又不能假定其他对象是谁,即:不希望这些对象是紧耦合的。
策略(Strategy)定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。此模式使得算法可以独立于使用它们的客户而变化。策略模式适用于以下几种情况:
①许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法;
②需要使用一个算法的不同变体。例如,定义一些反应不同空间的空间/时间权衡的算法。当这些变体实现为一个算法的类层次时,可以使用策略模式;
③算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构;
④一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现,将相关的条件分支移入它们各自的Strategy类中,以代替这些条件语句。
转载请注明原文地址:https://kaotiyun.com/show/02CZ777K
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
路由器则的连接和地址分配如下图所示,如果在R1上安装OSPF协议,运行下列命令:router ospf 100,则配置SO和EO端口的命令是(53)。
在Linux系统中,使用ifconfig设置接口的IP地址并启动该接口的命令是__________。
数据流图1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。数据流图1-3中缺少三条数据流,请指出这三条数据流的起点和终点。
阅读以下说明和数据流图,回答问题1~问题3。【说明】学生住宿服务系统帮助学生在就学的缄市内找到所需的住房,系统对出租的房屋信息、房主信息、需要租房的学生信息以及学生和房主的会面信息进行管理和维护。房主信息包括姓名、地址、电话号码以及系统分
根据题意,补充图2-3中(a)处的空缺,即货物关系模式的属性。写出每种关系模式的主键。
阅读下列说明和图,回答问题1~问题3。[说明]某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托软件开发公司A开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。A公司决定采用面向对象的分析和设计方法开发
阅读以下说明和图,回答问题1至问题3。【说明】S公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。为更好地吸引用户,S公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。商品的分类(Category
阅读以下说明和C++码,填入(n)处。[说明]建立一个分数类,使之具有下述功能:建立构造函数,它能防止分母为0,当分数不是最简形式时进行约分以及避免分母为负数。[C++代码]#include<iostream.h>
阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。【说明】下面的程序先构造Point类,再顺序构造Ball类。由于在类Ball中不能直接存取类Point中的xCoordinate及yCoordinate属性值,Ball中的
甲公司从市场上购买丙公司生产的部件Q,作为生产甲公司产品的部件。乙公司已经取得部件Q的中国发明权,并许可丙公司生产销售该部件Q。甲公司的行为(10)。
随机试题
以下不属于心理学研究领域的是
溶栓治疗的适应症是
患者,男,60岁。咳嗽,吐痰,反复发作5年,近1周症状加重。检查:体温正常,两肺散在干、湿啰音,血白细胞11.0×109/L,中性粒细胞0.8。应首先考虑的是
有利原则不包括
背景某桥为三孔预应力箱形连续梁,主跨径为30m+65m+30m=125m,桥面宽25m,全桥工期为280日历天。该项目部在施工前编制了详细的施工组织设计安全技术专项方案;专项方案由项目部技术负责人审核并报项目经理签任后实施。在挂篮施工中由于操作工人未按
A公司为支付货款,向B公司签发一张由甲银行承兑的汇票。B公司取得汇票后,将汇票背书转让给C公司。C公司将汇票背书转让给D公司,其后,D公司将汇票背书转让给E公司,但背书签章颠倒了位置,后E公司又将汇票背书转让给F公司。汇票到期后,F公司持汇票向承兑人甲银行
审计项目组采用非统计抽样方法测试甲公司2017年12月31日应收账款账面余额是否高估,应收账款账面审计前金额2200000元,总体规模1000,设计的样本规模50,采用系统选样方法选取了50笔业务,并对测试总体进行了分层,资料如表1:审计项目组函证了5
主张人本位的价值取向的代表人物是()
有一个体积为V、表面积为S的雪堆,其融化的速率与当时表面积成正比,即(其中k为正的常数),设融化期间雪堆的外形始终保持其抛物面形状,即在任何时刻t其外形曲面方程总为已知经过24小时融化了其初始体积V0的一半,试问余下一半体积的雪堆需再经多长时间才能全部
下列描述中错误的是()。
最新回复
(
0
)