软考系统架构设计师下午试题加答案(二)

软考系统架构设计师下午试题加答案(二)

ID:26989539

大小:372.20 KB

页数:16页

时间:2018-11-30

软考系统架构设计师下午试题加答案(二)_第1页
软考系统架构设计师下午试题加答案(二)_第2页
软考系统架构设计师下午试题加答案(二)_第3页
软考系统架构设计师下午试题加答案(二)_第4页
软考系统架构设计师下午试题加答案(二)_第5页
资源描述:

《软考系统架构设计师下午试题加答案(二)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、系统架构设计师http://www.educity.cn/rk/sa/index.html软考系统架构设计师下午试题加答案(二) 2016年下半年软考系统架构设计师考试将于11月12日举行。大家都准备好了吗?下面由希赛小编为大家整理了一些系统架构设计师试题,希望对大家有所帮助。   试题三   阅读以下关于设计模式应用的叙述,根据要求回答问题。   [说明]某软件公司承接了一项面向儿童的模拟游戏软件的开发任务,该游戏软件主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏软件需要模拟的鸭子种类及其特征如表2—13所示                 系统架构设计师http://

2、www.educity.cn/rk/sa/index.html为支持将来能够模拟更多种类鸭子的特征,该公司架构师采用某种设计模式设计的类图如图2-9所示。在图2—9中,类Duck描述了抽象的鸭子,方法fly7、quack7和display7分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;类FlyBehavior与QuackBehavior分别用于表示抽象的飞行行为与发声行为。   7、[问题1]   请用350字以内的文字指出该公司架构师所采用的设计模式的具体名称、设计意图及其优缺点。   8、[问题2]   请用400字以内的文字指出该公司架构师所采用的设计模式的适用性,以及

3、图2-9中需要考虑哪些实现问题?   9、[问题3]   设计模式在力度和抽象层次上各不相同。按设计模式的目的划分,可分为创建型、结构型和行为型3种模式;按设计模式的范围划分,可分为类设计模式和对象设计模式两种。请将下列A~J标记的设计模式填入到表2—14中的(1)~(5)空缺处。(请用A~J答题)   A.AbstractFactory模式   B.Adapter模式   C.ChainofResponsibility模式   D.Decorator模式   E.FactoryMethod模式系统架构设计师http://www.educity.cn/rk/sa/index.html  

4、 F.Flyweight模式   G.Interpreter模式   H.Iterator模式   I.TemplateMethod模式   J.Visitor模式    参考答案   7、依题意,在图2-9中,Duck为抽象类,描述了抽象的鸭子,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;而类RubberDuck、MallardDuck、CottonDuck和RedHeadDuck分别描述具体的鸭子种类;类FlyBehavior与QuackBehavior为抽象类,分别用于表示抽象的飞行行为与发声行为;类FlyNoWav与

5、FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为和不发声的行为。鉴于不同的鸭子种类只是在行为方面有所区别,且为支持将来能够模拟更多种类鸭子的特征,该公司架构师最有可能采用策略(Strategy)设计模式来设计如图2—9所示的模拟鸭子游戏软件。系统架构设计师http://www.educity.cn/rk/sa/index.html   Strategy模式定义了一组能够用来表示可能行为集合的类。这些行为可以在应用程序中使用,来修改应用程序功能。Strategy(策略)

6、模式的设计意图是,定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换,使得算法可独立于使用它的客户而变化。具体而言,该模式是一种定义一系列算法的方法,从概念上看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。Strategy模式的一般结构如图2—13所示。   Strategy模式具有以下一些优点和缺点。   (1)另一种子类化方法。Strategy类层次为Context(上下文)定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。可以直接生成一个Context类的子类,从而给它以

7、不同的行为。但这会将行为强制编制到Context中,而将算法的实现与Context的实现混合起来,从而使Context难以理解、难以维护和难以扩展,而且还不能动态地改变算法。最后得到一堆相关的类,它们之间的唯一差别是它们所使用的算法或行为。将算法封装在独立的Strategy类中使得架构师可以独立于Context而改变它,使它易于切换、理解和扩展。   系统架构设计师http://www.educity.cn/rk/sa/index.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。