首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。 ①一个客户需要使用一组相关对象 ②一个对象的改变需要改变其他对象 ③需要使用一个算法的不同变体 ④许多相关的类
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。 ①一个客户需要使用一组相关对象 ②一个对象的改变需要改变其他对象 ③需要使用一个算法的不同变体 ④许多相关的类
admin
2019-07-12
40
问题
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。
①一个客户需要使用一组相关对象
②一个对象的改变需要改变其他对象
③需要使用一个算法的不同变体
④许多相关的类仅仅是行为有异
(2)
选项
A、①②
B、②③
C、③④
D、①④
答案
C
解析
本题考查设计模式的基本概念。每种设计模式都有特定的意图和适用情况。
命令(Command)将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式适用于以下几种情况:
①抽象出待执行的动作以参数化某对象,此模式是过程语言中的回调(callback)机制的一个面向对象的替代方式;
②在不同的时刻指定、排列和执行请求;
③支持取消操作;
④支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍;
⑤用构建在原语操作上的高层操作构造一个系统。
责任链(Chain of Responsibility)使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。责任链模式适用于以下几种情况:
①有多个的对象可以处理一个请求,哪个对象处理该请求在运行时刻自动确定;
②在不明确指定接收者的情况下,向多个对象中的一个提交一个请求;
③可处理一个请求的对象集合应被动态指定。
观察者(Observer)模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者适用于以下几种情况:
①当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立地对象中以使它们可以各自独立地改变和复用;
②当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变时;
③当一个对象必须通知其他对象,而它又不能假定其他对象是谁,即:不希望这些对象是紧耦合的。
策略(Strategy)定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。此模式使得算法可以独立于使用它们的客户而变化。策略模式适用于以下几种情况:
①许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法;
②需要使用一个算法的不同变体。例如,定义一些反应不同空间的空间/时间权衡的算法。当这些变体实现为一个算法的类层次时,可以使用策略模式;
③算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构;
④一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现,将相关的条件分支移入它们各自的Strategy类中,以代替这些条件语句。
转载请注明原文地址:https://jikaoti.com/ti/o8G7FFFM
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
网络系统设计过程中,物理网络设计阶段的任务是____________。
当客户端收到多个DHCP服务器的响应时,客户端会选择___________地址作为自己的IP地址。
在某并发系统中,有一个发送进程A、一个接收进程B、一个环形缓冲区BUFFER、信号量S1和S2。发送进程不断地产生消息并写入缓冲区BUFFER,接收进程不断地从缓冲区BUFFER取消息。假设发送进程和接收进程可以并发地执行,那么,当缓冲区的容量为N时,如何
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】在并发系统设计中,通过对信号量S的P、V操作实现进程的同步与互斥控制。P(S):S:=S-1,若S≥0,则执行P操作的进程继续执行:若S<0,则置该进程为阻塞状态,
数据流图1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。根据系统功能和数据流图填充下列数据字典条目中的(1)和(2):查询请求信息=【查询读者请求信息|查询图书请求信息】读者情况;读者号+姓名+所在单位+{借书情况}
阅读下列说明和图,回答问题1至问题3。[说明]某企业决定开发一个企业仓储管理系统,山李工承担系统的设计工作。该系统的网络连接如图2-1所示。[图2-1]该企业有多个仓库,图2-1所示的中心数据库存储了各个仓库中每种货物的库存信息
根据以上说明设计的实体联系图如下图所示,请指出读者与图书、书目与读者、书目与图书之间的联系类型。该图书管理系统的主要关系模式如下,请补充“借还记录”和“预约登记”关系中的空缺。管理员(工号,姓名)读者(读者ID,姓名,电话,E-mai
如果将数据库服务器(记为DB)作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储?根据数据流图的设计原则,阅读下图所示的数据流图,找出其中的错误之处。
流程图中文件F的纪录格式设定为见表4形式: 其中的①、②应定义为何种数据项?简述处理2、处理3和处理4作何种处理,若有排序处理则需指明排序的键及序(升序或降序)。
阅读以下说明和数据流图,回答问题1~3问题。[说明]研究生招生系统旨在用计算机对学校的研究生招生事务进行管理。研究生招生可分为报名阶段、考试阶段和录取阶段。招生报考前,招生处要进行考前准备工作,如统计招生导师、考试科目以及制定报考专业标准代码
随机试题
A02~04mmB003mmC03mmD05~08mmE10mm
A.甘油B.碳酸钙C.藻酸盐D.苯甲酸盐E.十二烷基(酯)硫酸钠牙膏中常用作洁净剂的是
关于肺炎链球菌引起的肺炎的病理生理过程,哪项不正确
某电器股份有限公司,2013年实现销售收入3亿元,实现净利润0.3亿元,公司2013年简化资产负债表如图:根据以上资料,回答下列问题:该公司2013年度所有者权益增加,可能是由于公司()。
按照市政府的统筹安排、指示,县政府落实道路交通安全教育主题活动,为了保证主题活动效果,领导让你负责此项工作,要求组织一些人员认真筹备,务必做好落实。为了保障本次道路交通安全教育主题活动的效果,作为负责人,你肯定会做一些前期调研。以下不属于此次调研范围的
资本市场线(复旦大学2016真题)
当变量c的值不为2、4、6时,值为“真”的表达式是()。
构成关系模型中的一组相互联系的“关系”一般是指
Justiceinsocietymustincludebothafairtrialtotheaccusedandtheselectionofanappropriatepunishmentforthoseproven
Hewas______verynervousandforsomeminutesstoodawkwardlybeforethemicrophone.
最新回复
(
0
)