首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。 ①一个客户需要使用一组相关对象 ②一个对象的改变需要改变其他对象 ③需要使用一个算法的不同变体 ④许多相关的类
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。 ①一个客户需要使用一组相关对象 ②一个对象的改变需要改变其他对象 ③需要使用一个算法的不同变体 ④许多相关的类
admin
2019-07-12
55
问题
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。
①一个客户需要使用一组相关对象
②一个对象的改变需要改变其他对象
③需要使用一个算法的不同变体
④许多相关的类仅仅是行为有异
(2)
选项
A、①②
B、②③
C、③④
D、①④
答案
C
解析
本题考查设计模式的基本概念。每种设计模式都有特定的意图和适用情况。
命令(Command)将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式适用于以下几种情况:
①抽象出待执行的动作以参数化某对象,此模式是过程语言中的回调(callback)机制的一个面向对象的替代方式;
②在不同的时刻指定、排列和执行请求;
③支持取消操作;
④支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍;
⑤用构建在原语操作上的高层操作构造一个系统。
责任链(Chain of Responsibility)使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。责任链模式适用于以下几种情况:
①有多个的对象可以处理一个请求,哪个对象处理该请求在运行时刻自动确定;
②在不明确指定接收者的情况下,向多个对象中的一个提交一个请求;
③可处理一个请求的对象集合应被动态指定。
观察者(Observer)模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者适用于以下几种情况:
①当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立地对象中以使它们可以各自独立地改变和复用;
②当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变时;
③当一个对象必须通知其他对象,而它又不能假定其他对象是谁,即:不希望这些对象是紧耦合的。
策略(Strategy)定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。此模式使得算法可以独立于使用它们的客户而变化。策略模式适用于以下几种情况:
①许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法;
②需要使用一个算法的不同变体。例如,定义一些反应不同空间的空间/时间权衡的算法。当这些变体实现为一个算法的类层次时,可以使用策略模式;
③算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构;
④一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现,将相关的条件分支移入它们各自的Strategy类中,以代替这些条件语句。
转载请注明原文地址:https://kaotiyun.com/show/02CZ777K
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
下列不是NOS单机操作系统的4大特征的是__________。
某公司网络的地址是202.110.128.0/17,下面的选项中,(54)属于这个网络。
在Linux操作系统中,存放用户账号加密口令的文件是__________。(2009年下半年试题)
中国自主研发的3G通信标准是(60)。
在Windows的cmd命令窗口中输入(38)命令可以用来诊断域名系统基础结构的信息和查看DNS服务器的IP地址。
访问控制列表(ACL)配置如下,如果来自因特网的HTTP报文的目标地址是162.15.10.10,经过这个ACL过滤后会出现什么情况?(58)
在需求分析阶段,采用UML的用例图(usecasediagram)描述系统功能需求,如图4-4所示。指出图中的A,B,C和D分别是哪个用例?类通常不会单独存在,因此当对系统建模时,不仅要识别出类,还必须对类之间的相互关系建模。在面向对象建模中,提供
(1)数据流图1-1缺少了一条数据流(在图1-2中也未给出该数据流),请给出此数据流的起点和终点,并采用说明中的词汇给出此数据流名。(2)数据流图1-2中缺少了与“查询房屋”加工相关的数据流,请指出此数据流的起点和终点。“安排会面”加工除需要写入会面
阅读下列函数说明和C++代码,将应填入(n)处的字句写在对应栏内。[说明]在一些大型系统中,大多数的功能在初始化时要花费很多时间,如果在启动的时候,所有功能(包括不用的功能)都要全面初始化的话,会导致应用软件要花很多时间才能启动。因此常
阅读以下函数说明和c代码,将应填入(n)处的字句写在答题纸对应栏内。【说明】对多个元素的聚合进行遍历访问时,需要依次推移元素,例如对数组通过递增下标的方式,数组下标功能抽象化、一般化的结果就称为迭代器(Iterator)。模式以下程序模拟将书籍(Boo
随机试题
网络营销
Myhometownisfound______.
60岁女性病人,5天前受凉感冒后自服速效伤风胶囊片,从昨天开始小便呈深橘黄色,现疲乏,活动后心慌,偶感腰痛。体检:贫血貌,巩膜轻度黄染,肝脾肋下未及,皮肤黏膜完整,生命体征正常,既往无特殊病史。实验室检查:RBC2.13×1012/L、WBC5.6×109
某企业为增值税一般纳税人。2015年12月25日,向职工发放一批自产的空气净化器作为福利,该批产品售价为10万元,生产成本为7.5万元,按计税价格计算的增值税销项税额为1.7万元。不考虑其他因素,该笔业务应确认的应付职工薪酬为()万元。(2016年
用“到达理论”替代“距离理论”,为的是强调物流服务的本质是将商品送达到用户手中,而不是强调其克服空间距离的作用。()
消费物价指数
19世纪下半期,沙俄割占中国领土150多万平方公里,是通过下列()不平等条约实现的。
有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!=’\n’)switch(c-’2’){case1:putchar(c+4);c
RelationshipTalkingPoints:SpeakYourSpouse’sLanguageA)AnnaandMikePetersonrecentlyhaddinnerattheirfavouritesteakh
A、Eachstudentwasresponsibleforonestory.B、Computerstudentsfirsthadtodecidewhetherastorywasgoodornot.C、Webpage
最新回复
(
0
)