欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《软件设计模式》全真试题.pdf

    • 资源ID:69624087       资源大小:160.61KB        全文页数:12页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《软件设计模式》全真试题.pdf

    第 1 页(共 12 页)学习中心 姓 名 学 号 西安电子科技大学网络与继续教育学院西安电子科技大学网络与继续教育学院 软件设计模式全真试题软件设计模式全真试题(闭卷(闭卷 90 分钟)分钟)题号题号 一一 二二 三三 四四 五五 总分总分 题分题分 10 20 20 30 20 得分得分 一、简答题(一、简答题(10 分)分)1.1(3 分)什么是设计模式?设计模式的目标是什么?1.2(3 分)设计模式具有哪三大特点?1.3(4 分)GOF 设计模式常用的有几种?GOF 设计模式按照模式的目的可第 2 页(共 12 页)分为哪三类?二、填空题(二、填空题(20 分,每空分,每空 2 分)分)请从外观、访问者、组合、工厂方法、模板方法、观察者、轻量级、原型、责任链、单例、抽象工厂、命令 12 种模式中选择 10 种填入下列的空缺中。2.1 模式中,父类负责定义创建对象的公共接口,子类则负责生成具体的对象。2.2 模式提供一系列相关或相互依赖对象的接口而无需指定它们具体的类。2.3 模式用原型实例指定创建对象的种类,并且通过拷贝这些原型实例创建新的对象。2.4 模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。2.5 模式将对象组合成树形结构以表示“部分-整体”的层次结构。使得用户对单个对象和组合对象的使用具有一致性。2.6 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面。2.7 模式运用共享技术有效地支持大量细粒度的对象。2.8 模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。2.9 模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。2.10 模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。第 3 页(共 12 页)三、选择题(三、选择题(20 分,每题分,每题 2 分)分)3.1 设计模式具有 的优点。A.适应需求变化 B.程序易于理解 C.减少开发过程中的代码开发工作量 D.简化软件系统的设计 3.2 下图描述了一种设计模式,该设计模式不可以 。A.动态决定由一组对象中某个对象处理该请求 B.动态指定处理一个请求的对象集合,并高效率地处理一个请求 C.使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合关系 D.将对象连成一条链,并沿着该链传递请求 3.3 若系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB 等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,设计模式可抽象出相同的数据库访问过程;A.外观 B.装饰 C.单件 D.模板方法 3.4 系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,设计模式可以实现该目的。A.外观 B.装饰 C.单件 D.模板方法 3.5 下面的类图表示的是哪个模式?第 4 页(共 12 页)A、抽象工厂模式(Abstract Factory)B、工厂方法模式(Factory Method)C、命令模式(Command)D、责任链模式(Chain of Responsibility)3.6 下面的类图表示的是哪个设计模式?A、代理模式(Proxy)B、装饰模式(Decorator)C、桥接模式(Bridge)D、观察者模式(Observer)3.7 下面的类图表示的是哪个模式?第 5 页(共 12 页)A、代理模式(Proxy)B、外观模式(Facade)C、适配器模式(Adapter)D、桥接模式(Bridge)3.8 下面的类图表明了哪个模式?A、责任链模式(Chain of Responsibility)B、命令模式(Command)C、备忘录模式(Memento)D、工厂方法模式(Factory Method)3.9 下面的类图表示的是哪个设计模式?A、模板方法模式(Template Method)B、命令模式(Command)C、单例模式(Singleton)D、状态模式(State)第 6 页(共 12 页)3.10 下面的类图表明了哪个模式?A、模板方法模式(Template Method)B、命令模式(Command)C、单例模式(Singleton)D、状态模式(State)四、读程题(四、读程题(30 分,每题分,每题 15 分)分)4.1 在下面的 C+代码中,类 SalesTicket 能够完成打印票据正文的功能,类 HeadDecorator 与 FootDecorator 分别完成打印票据的台头和脚注的功能。已知该程序运行后的输出结果如下所示。这是票据的台头!这是票据正文!这是票据的脚注!-这是票据的台头!这是票据的脚注!C+程序代码程序代码#include using namespace std;class SalesTicket public:virtual void printTicket()cout 这是票据正文!printTicket();第 7 页(共 12 页);class HeadDecorator:public Decorator public:HeadDecorator(SalesTicket*t):Decorator(t)void printTicket()cout 这是票据的台头!endl;Decorator:printTicket();class FootDecorator:public Decorator public:FootDecorator(SalesTicket*t):Decorator(t)void printTicket()Decorator:printTicket();cout 这是票据的脚注!endl;void main(void)SalesTicket t;FootDecorator f(&t);HeadDecorator h(&f);h.printTicket();cout -endl;FootDecorator a(NULL);HeadDecorator b(&a);b.printTicket();请根据题目描述、程序和输出,阐述采用该设计模式进行设计的优势?第 8 页(共 12 页)4.2 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如下表所示:鸭子种类鸭子种类 发声特征发声特征 飞行特征飞行特征 外观特征外观特征 灰鸭(MallardDuck)发出“嘎嘎”声(Quack)用翅膀飞行(FlyWithWings)灰色羽毛 红头鸭(RedHeadDuck)发出“嘎嘎”声(Quack)用翅膀飞行(FlyWithWings)灰色羽毛、头部红色 棉花鸭(CottonDuck)不发声(QuackNoWay)不能飞行(FlyNoWay)白色 橡皮鸭(RubberDuck)发出橡皮与空气摩擦的声(Squeak)不能飞行(FlyNoWay)黑白橡皮颜色 为支持将来能够模拟更多种类鸭子的特征,采用某设计模式设计的类图如下所示:第 9 页(共 12 页)其中,Duck 为抽象类,描述了抽象的鸭子,而类 RubberDuck、MallardDuck、CottonDuck 和 RedHeadDuck 分别描述具体的鸭子种类,方法 fly()、quack()和 display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;类 FlyBehavior 与 QuackBehavior 为抽象类,分别用于表示抽象的飞行行为与发声行为;类 FlyNoWay 与 FlyWithWings 分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。C+代码代码#include using namespace std;class FlyBehavior public:virtual void fly()=0;class QuackBehavior public:virtual void quack()=0;class FlyWithWings:public FlyBehavior public:void fly()cout 使用翅膀飞行!endl;class FlyNoWay:public FlyBehavior public:void fly()cout 不能飞行!endl;class Quack:public QuackBehavior public:void quack()cout 发出嘎嘎声!endl;class Squeak:public QuackBehavior public:void quack()cout 发出空气与橡皮摩擦声!endl;class QuackNoWay:public QuackBehavior public:void quack()cout 不能发声!fly();第 10 页(共 12 页)void quack()quackBehavior-quack();virtual void display()=0;class RubberDuck:public Duck public:RubberDuck()flyBehavior=new FlyNoWay();quackBehavior=new Squeak();RubberDuck()if(!flyBehavior)delete flyBehavior;if(!quackBehavior)delete quackBehavior;void display()/*此处省略显示橡皮鸭的代码*/;/其它代码省略 请根据上述类图和代码,阐述采用该设计模式进行设计的优势?第 11 页(共 12 页)五、设计题(五、设计题(20 分,每题分,每题 10 分)分)请根据下面的叙述,选择正确的设计模式,并给出该设计模式的类图。请根据下面的叙述,选择正确的设计模式,并给出该设计模式的类图。5.1 为实现应用的界面与应用数据的分离,通常定义应用数据的类和应用界面类,它们都可以各自独立地被复用,当然它们也可一起工作。一个表格对象和一个柱状图对象可使用不同的表示形式描述同一个应用数据对象的信息。表格对象和柱状图对象互相并不知道对方的存在,这样使你可以根据需要单独复用表格或柱状图。但是它们表现的似乎互相知道彼此的存在。当用户改变表格中的信息时,柱状图能立即反映这一变化,反过来也是如此。如下图所示:请根据叙述和上图的描述,选择合适的设计模式,并给出该设计模式的类图。第 12 页(共 12 页)5.2 一般的企业采购审批都是分级的,采购量的不同就需要不同层次的主管人员来审批,如主任可以审批 1 万元以下的采购单,副董事长可以申批2.5 万元以下的采购单,董事长可以审批 10 万元以下的采购单,10 万元以上的采购单就需要开会决定。请根据该描述,选择合适的设计模式并给出其类图。

    注意事项

    本文(《软件设计模式》全真试题.pdf)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开