首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。 ①一个客户需要使用一组相关对象 ②一个对象的改变需要改变其他对象 ③需要使用一个算法的不同变体 ④许多相关的类
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。 ①一个客户需要使用一组相关对象 ②一个对象的改变需要改变其他对象 ③需要使用一个算法的不同变体 ④许多相关的类
admin
2019-07-12
61
问题
(1)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下(2)情况适合选用该模式。
①一个客户需要使用一组相关对象
②一个对象的改变需要改变其他对象
③需要使用一个算法的不同变体
④许多相关的类仅仅是行为有异
(2)
选项
A、①②
B、②③
C、③④
D、①④
答案
C
解析
本题考查设计模式的基本概念。每种设计模式都有特定的意图和适用情况。
命令(Command)将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式适用于以下几种情况:
①抽象出待执行的动作以参数化某对象,此模式是过程语言中的回调(callback)机制的一个面向对象的替代方式;
②在不同的时刻指定、排列和执行请求;
③支持取消操作;
④支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍;
⑤用构建在原语操作上的高层操作构造一个系统。
责任链(Chain of Responsibility)使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。责任链模式适用于以下几种情况:
①有多个的对象可以处理一个请求,哪个对象处理该请求在运行时刻自动确定;
②在不明确指定接收者的情况下,向多个对象中的一个提交一个请求;
③可处理一个请求的对象集合应被动态指定。
观察者(Observer)模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者适用于以下几种情况:
①当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立地对象中以使它们可以各自独立地改变和复用;
②当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变时;
③当一个对象必须通知其他对象,而它又不能假定其他对象是谁,即:不希望这些对象是紧耦合的。
策略(Strategy)定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。此模式使得算法可以独立于使用它们的客户而变化。策略模式适用于以下几种情况:
①许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法;
②需要使用一个算法的不同变体。例如,定义一些反应不同空间的空间/时间权衡的算法。当这些变体实现为一个算法的类层次时,可以使用策略模式;
③算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构;
④一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现,将相关的条件分支移入它们各自的Strategy类中,以代替这些条件语句。
转载请注明原文地址:https://www.kaotiyun.com/show/02CZ777K
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
李某在《电脑与编程》杂志上看到张某发表的一组程序,颇为欣赏,就复印了一百份作为程序设计辅导材料发给了学生。李某又将这组程序逐段加以评析,写成评论文章后投到《电脑编程技巧》杂志上发表。李某的行为(10)。
中国自主研发的3G通信标准是(60)。
李某在《电脑与编程》杂志上看到张某发表的一组程序,颇为欣赏,就复印了100份作为程序设计辅导教材发给学生。李某又将这组程序逐段加以评析,写成评论文章后投到《电脑编程技巧》杂志上发表。李某的行为__________。(2008年下半年试题)
IEEE802.11i所采用的加密算法为__________。(2010年下半年试题)
假如有3块容量是300GB的硬盘做RAID5阵列,则这个RAID5的容量是_____________。
阅读下列说明、图和c++代码。[说明]某订单管理系统的部分UML类图如下图所示。上图中,Product表示产品,ProductList表示产品目录,Order表示产品订单,OrderItem表示产品订单中的一个条目,Or
阅读下列程序说明和C程序,将应填入(n)处的字句写在答卷纸的对应栏内。【程序说明】该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个
已知某类库开发商提供了一套类库,类库中定义了Application类和Document类,它们之间的关系如图16-5所示。其中,Application类表示应用程序自身,而Document类则表示应用程序打开的文档。Application类负责打开一个已有
美国公民Tom于2007年3月1日向中国专利局提出一件实用新型专利申请。其后,Tom对该发明做了改进,于2008年3月1日就其改进发明向中国专利局又提出申请时,可享有(10)。
中国企业A与日本公司B进行技术合作,合同约定A使用两项在有效期内的日本专利,但该项日本专利未在中国和其他国家提出申请。对于A销售依照该两项专利生产的产品,以下叙述不正确的是()。
随机试题
请围绕以下观点,谈谈你的看法。“我们的一些大学,包括北京大学,正在培养一些‘精致的利己主义者’,他们高智商、世俗、老到、善于表演、懂得配合,更善于利用体制达到自己的目的。这种人一旦掌握权力,比一般的贪官污吏危害更大。”北京大学钱理群教授
Whatexactlyisintelligence?Therearen’tanyeasyanswers.Despitetheprogressthathasbeenmadeingeneticsandpsychology,
导致腹部巨大肿瘤患者功能残气量进一步减少的因素不包括
下列有关微孔滤膜的介绍哪一条是错误的
金铃子的处方应付为白梅花的处方应付为
《建设工程安全生产管理条例》规定,施工单位应当为()办理意外伤害保险。
黄河实业股份有限公司(以下简称“黄河公司”)于2014年6月成立。截止2018年1月1日黄河公司所有者权益总额为8245万元。其中,股本3000万元,资本公积3242万元,其他综合收益1300万元,盈余公积1860万元,未分配利润一1157万元。2018年
下列词语书写完全正确的一组是()。
下面列出的四种半导体存储器中,属于非易失性存储器的是________。
A、Thedeadlineofherpaper.B、Hergradesintheexam.C、Thematerialontheexam.D、Notbeingabletohavelunch.B
最新回复
(
0
)