软考系统架构设计师下午试地的题目加详解二

软考系统架构设计师下午试地的题目加详解二

ID:28973765

大小:389.97 KB

页数:15页

时间:2018-12-15

软考系统架构设计师下午试地的题目加详解二_第1页
软考系统架构设计师下午试地的题目加详解二_第2页
软考系统架构设计师下午试地的题目加详解二_第3页
软考系统架构设计师下午试地的题目加详解二_第4页
软考系统架构设计师下午试地的题目加详解二_第5页
资源描述:

《软考系统架构设计师下午试地的题目加详解二》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

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

2、种设计模式设计的类图如图2-9所示。在图2—9中,类Duck描述了抽象的鸭子,方法fly7、quack7和display7分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;类FlyBehavior与QuackBehavior分别用于表示抽象的飞行行为与发声行为。   7、[问题1]精彩文档实用标准文案   请用350字以内的文字指出该公司架构师所采用的设计模式的具体名称、设计意图及其优缺点。   8、[问题2]   请用400字以内的文字指出该公司架构师所采用的设计模式的适用性,以及图2-9中需要考虑哪些实现问题?   9、[问题

3、3]   设计模式在力度和抽象层次上各不相同。按设计模式的目的划分,可分为创建型、结构型和行为型3种模式;按设计模式的范围划分,可分为类设计模式和对象设计模式两种。请将下列A~J标记的设计模式填入到表2—14中的(1)~(5)空缺处。(请用A~J答题)   A.AbstractFactory模式   B.Adapter模式   C.ChainofResponsibility模式   D.Decorator模式   E.FactoryMethod模式   F.Flyweight模式   G.Interpreter模式   H.Iterato

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

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

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

7、,从而给它以不同的行为。但这会将行为强制编制到Context中,而将算法的实现与Context的实现混合起来,从而使Context难以理解、难以维护和难以扩展,而且还不能动态地改变算法。最后得到一堆相关的类,它们之间的唯一差别是它们所使用的算法或行为。将算法封装在独立的Strategy类中使得架构师可以独立于Context而改变它,使它易于切换、理解和扩展。   (2)在类自身中定义了每一个行为,从而减少了一些条件语句;Strategy模式提供了用条件语句选择所需行为以外的另一种选择。当不同的行为堆砌在一个类中时,很难避免使用条件语句来选

8、择合适的行为。将行为封装在一个个独立的Strategy类中消除了这些条件语句。   (3)更容易扩展模型,即在不对应用程序进行代码修改的情况下,使该模式具有新的行为。   (4)客户必须了解不

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

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

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