2012年系统架构设计师考试下午试题中出现了一道25分的设计模式大题,上午仍旧是5道选择题,可以说是从2009年开考以来设计模式试题量最大的一年。Sunny友情建议:建议大家先做做这些试题,看是否能够正确解答,如果在解答的同时能够拿出具体的设计和实现方案,我相信一定会受益匪浅!,试题分析和参考答案为Sunny个人所作,可能与某些已发布的“标准答案”会有所不同,如有不同意见,欢迎交流!【说明:为了体现试题的真实性,每一道试题的题号均保留原始真题题号】

2012年系统架构设计师考试设计模式考题如下:

【全国计算机技术与软件专业技术资格(水平)考试 2012年下半年 系统架构设计师 上午试卷】

若系统中的某子模块需要为其他模块提供访问不同数据库系统的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询。针对上述需求,可以采用 (49) 设计模式抽象出相同的数据库访问过程,该设计模式(50) 。

(49) A.外观        B. 装饰        C.桥接        D.享元

(50) A.可以动态、透明地给单个对象添加职责

B.为子系统定义了一个高层接口,这个接口使得这一子系统更加容易使用

C.通过运用共享技术,有效支持大量细粒度的对象

D.将抽象部分与它的实现部分分离,使它们都可以独立地变化

某软件公司欲设计一款图像处理软件,帮助用户对拍摄的照片进行后期处理。在软件需求分析阶段,公司的系统分析师识别出了如下3个关键需求:

图像处理软件需要记录用户在处理照片时所有动作,并能够支持用户动作的撤销与重做等行为。

图像处理软件需要根据当前正在处理的照片的不同特征选择合适的处理操作,处理操作与照片特征之间具有较为复杂的逻辑关系。

图像处理软件需要封装各种图像处理算法,用户能够根据需要灵活选择合适的处理算法;软件还要支持高级用户根据一定的规则添加自定义处理算法。

在系统设计阶段,公司的架构师决定采用设计模式满足上述关键需求中对系统灵活性与扩展性的要求。具体来说,为了支持灵活的撤销与重做等行为,采用 (51) 最为合适;为了封装图像操作与照片特征之间的复杂逻辑关系,采用 (52) 最为合适;为了实现图像处理算法的灵活选择与替换,采用 (53) 最为合适。

(51) A.工厂模式           B.责任链模式       C.中介者模式      D.命令模式

(52) A.状态模式           B.适配器模式       C.组合模式          D.单例模式

(53) A.模板方法模式    B.访问者模式       C.策略模式          D.观察者模式

【全国计算机技术与软件专业技术资格(水平)考试 2012年下半年 系统架构设计师 下午试卷】

试题四(共25分)

阅读以下关于面向对象系统建模的叙述,在答题纸上回答问题1至问题3。

【说明】

某软件企业为影音产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。项目组经过讨论后决定采用面向对象方法开发该系统。在设计建模阶段需要满足以下设计要求:

(1) W公司经常进行促销活动。根据不同的条件(如订单总额、商品数量、产品种类等),公司可以提供百分比折扣或现金减免等多种促销方式供提交订单的用户选择。实现每种促销活动的代码量很大,且会随促销策略不同经常修改。系统设计中需要考虑现有的促销和新的促销,而不用经常地重写控制器类代码。

(2) 该在线销售系统需要计算每个订单的税率,不同商品的税率及计算方式会有所区别。所以W公司决定在系统中直接调用不同商品供应商提供的税率计算类,但每个供应商的类提供了不同的调用方法。系统设计中需要考虑如果公司更换了供应商,应该尽可能少地在系统中修改或创建新类。

项目组架构师决定采用设计模式来满足上述设计要求,并确定从当前已经熟练掌握的设计模式中进行选择,这些设计模式包括:适配器模式(Adapter)、构造器模式(Builder)、命令模式(Command)、外观模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、状态模式(State)和策略模式(Strategy)等。

【问题1】(6分)

设计模式按照其应用模式可以分为三类:创建型、结构型和行为型,请用200字以内文字说明三者的作用。

【问题2】(9分)

请将项目组已经掌握的设计模式按照其作用分别归类到创建型、结构型和行为型模式中。

【问题3】(10分)

针对题目中所提出的设计要求(1)和(2),项目组应该分别选择何种设计模式?请分别用200字以内文字说明具体的解决方案。

------------------------------------------------------------------------------------------------------------------------------------------------------

试题分析与解答将尽快发布!

往年试题链接:

历年系统架构设计师考试之设计模式试题分析-2009年

历年系统架构设计师考试之设计模式试题分析-2010年

历年系统架构设计师考试之设计模式试题分析-2011年

【作者:刘伟  http://blog.csdn.net/lovelion】

from: http://blog.csdn.net/lovelion/article/details/21410435

历年系统架构设计师考试之设计模式试题-2012年相关推荐

  1. 【系统架构设计师】软考高级职称,一次通过,倾尽所有,2016年下半年系统架构设计师考试论文真题(论述软件设计模式技术及应用)

    [系统架构设计师]软考高级职称,一次通过,倾尽所有,看完这篇就够了,学习方法和技巧这里全都有. 2016年下半年系统架构设计师考试论文真题(论述软件设计模式技术及应用) 论软件设计模式及其应用 软件设 ...

  2. 系统架构设计师考试4

    架构师考试经验总结 2014年12月14日 11:35:52 langkailen 阅读数 7251 2011年11月中旬参加了系统架构设计师的考试,考试还算比较顺利,顺利通过了国家分数线,获得了资格 ...

  3. 软考系统架构设计师考试论文应试技巧

    软考系统架构设计师考试(系分)论文应试技巧 写论文是你展示系统分析水平的最佳时机,如果您面对三个论文问题的阐述,怎么才能让人相信你有项目实践经验,有较强的分析问题.解决问题的能力,怎么才能让你的论文就 ...

  4. 我是如何通过系统架构设计师考试的(2017年软考)

    2017年,时隔7年之后,我又一次参加了计算机技术与软件专业技术资格(水平)考试,报考的科目为<系统架构设计师>,这是一个高级资格考试.上一次参加软考时的高级资格考试还只有<系统分析 ...

  5. 我是如何通过系统架构设计师考试的(2017年软考)-转载

    http://shashanzhao.com/archives/971.html 以下内容转载自https://blog.csdn.net/taohe_0/article/details/789948 ...

  6. 软考高级系统架构设计师系列之:深入掌握软考高级系统架构设计师考试的知识分布点,轻松应对高级系统架构设计师考试

    软考高级系统架构设计师系列之:深入掌握软考高级系统架构设计师考试的知识分布点,轻松应对高级系统架构设计师考试 一.考试科目 二.考试大纲要求 三.信息系统综合知识点和分数的分布情况 四.系统架构设计案 ...

  7. 一起讨论系统架构设计师考试大纲中样题参考答案

    欢迎你的到来,一起学习,共同进步. 系统架构设计师考试大纲中样题参考答案 一起讨论系统架构设计师考试大纲中样题参考答案. (一)选择题 1. B  A  D 2. B (二)问答题 --(期待你的跟贴 ...

  8. 【系统架构设计师】软考高级职称,一次通过,倾尽所有,2016年下半年系统架构设计师考试论文真题(论微服务架构及其应用)

    [系统架构设计师]软考高级职称,一次通过,倾尽所有,看完这篇就够了,学习方法和技巧这里全都有. 2016年下半年系统架构设计师考试论文真题(论微服务架构及其应用) 论微服务架构及其应用 近年来,随着互 ...

  9. 【系统架构设计师】软考高级职称,一次通过,倾尽所有,2013年下半年系统架构设计师考试论文真题(论软件可靠性设计技术的应用)

    [系统架构设计师]软考高级职称,一次通过,倾尽所有,看完这篇就够了,学习方法和技巧这里全都有. 2013年下半年系统架构设计师考试论文真题(论软件可靠性设计技术的应用) 论软件可靠性设计技术的应用 随 ...

  10. 【系统架构设计师】软考高级职称,一次通过,2017年下半年系统架构设计师考试论文真题(论软件架构风格)

    [系统架构设计师]软考高级职称,一次通过,倾尽所有,看完这篇就够了,学习方法和技巧这里全都有. 2017年下半年系统架构设计师考试论文真题(论软件架构风格) 论文:2017年第2题(论文题)论软件架构 ...

最新文章

  1. [数分提高]2014-2015-2第6教学周第2次课(2015-04-09)
  2. WinAPI: midiOutReset - 重置输出设备
  3. 探究Java常量本质及三种常量池(JVM)
  4. 《单页Web应用:JavaScript从前端到后端》——1.4 小结
  5. linux分区 挂盘,linux分区与格式化磁盘挂载磁盘与自动挂载详细教程
  6. JavaScript 字符串转数字
  7. 安装sql server 2000时,提示:以前的某个程序安装已在安装计算机上创建挂起的文件操作,需重起...
  8. Mysql不能远程连接的解决方法
  9. 第一次加入博客那,鼓励一下自己先
  10. QQ资料清空php源码,[php源码][QQ玫瑰小镇]一键收铲种,php网页版
  11. 配置Typescript+Node环境
  12. d3.js——饼状图
  13. c 程序设计语言简单列子,C语言程序设计实例大全(220个例子)
  14. ios 融云 重写对话列表_iOS消息体系架构详解-融云即时通讯云
  15. 好家伙,花了一个月时间写了个网易云,以后再也不用充VIP了!
  16. 职工档案管理系统报告与c语言,[职工档案管理系统C语言.doc
  17. matlab 中的波浪号
  18. 彻底解决Ubuntu18.04搜狗拼音输入法问题---支持Pycharm、WPS
  19. ps 绘制的 路径丢失了
  20. 【自学Android开发(一)】

热门文章

  1. [Linux驱动炼成记] 04-功放TAS5754
  2. [洛谷P3376题解]网络流(最大流)的实现算法讲解与代码
  3. 微信小程序云开发--云存储的使用(一)
  4. 计算机简单构图,涨姿势了!人像二次构图技巧原来这么简单
  5. 树莓派+OpneVino环境搭建以及快速实现人脸识别
  6. GNU nano介绍
  7. 2020年度十大高薪岗位出炉:程序员霸榜
  8. python 输入框查询_前端实现输入框input输入时,调用后台查询。
  9. 正态分布是离散分布还是连续分布_内容范围:正态分布,泊松分布,多项分布,二项分布,伯努利分布...
  10. 编程入门先学什么 c语言软件,编程入门先学什么软件