欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】软件设计师-12及答案解析.doc

    • 资源ID:1340354       资源大小:133KB        全文页数:19页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

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

    【计算机类职业资格】软件设计师-12及答案解析.doc

    1、软件设计师-12 及答案解析(总分:90.00,做题时间:90 分钟)一、单项选择题(总题数:17,分数:50.00)1.在面向对象软件开发过程中,采用设计模式_。(分数:2.00)A.以复用成功的设计B.以保证程序的运行速度达到最优值C.以减少设计过程创建的类的个数D.允许在非面向对象程序设计语言中使用面向对象的概念2.设计模式根据目的进行分类,可以分为创建型、结构型和行为型 3 种。其中结构型模式用于处理类和对象的组合。模式是一种结构型模式。(分数:2.00)A.适配器(Adapter)B.命令(Command)C.生成器(Builder)D.状态(State)3.在进行面向对象设计时,采

    2、用设计模式能够_。(分数:2.00)A.复用相似问题的相同解决方案B.改善代码的平台可移植性C.改善代码的可理解性D.增强软件的易安装性4.设计模式具有_的优点。(分数:2.00)A.适应需求变化B.程序易于理解C.减少开发过程中的代码开发工作量D.简化软件系统的设计5.欲动态地给一个对象添加职责,宜采用_模式。(分数:2.00)A.适配器(Adapter)B.桥接(Bridge)C.组合(Composite)D.装饰器(Decorator)6._模式通过提供与对象相同的接口来控制对这个对象的访问。(分数:2.00)A.适配器(Adapter)B.代理(Proxy)C.组合(Composite

    3、)D.装饰器(Decorator)7._将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。(分数:2.00)A.Adapter(适配器)模式B.Command(命令)模式C.Singleton(单例)模式D.Strategy(策略)模式8.以下关于单例模式(Singleton)的描述中,正确的是_。(分数:2.00)A.它描述了只有一个方法的类的集合B.它能够保证一个类只产生一个唯一的实例C.它描述了只有一个属性的类的集合D.它能够保证一个类的方法只能被一个唯一的类调用9._设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生

    4、改变时,所有依赖于它的对象都得到通知并自动刷新。(分数:2.00)A.Adapter(适配器)B.Iterator(迭代器)C.Prototype(原型)D.Observer(观察者)设计模式中的_模式将对象组合成树形结构以表示“部分-整体”的层次结构,使得客户对单个对象和组合对象的使用具有一致性。下图为该模式的类图,其中,_定义有子部件的那些部件的行为;组合部件的对象由_通过 component 提供的接口操作。 (分数:6.00)A.代理(Proxy)B.桥接器(Bridge)C.组合(Composite)D.装饰器(Decorator)A.ClientB.ComponentC.LeafD

    5、.CompositeA.ClientB.ComponentC.LeafD.Composite当不适合采用生成子类的方法对已有的类进行扩充时,可以采用_设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用_设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用_设计模式将该类的接口转换成我们希望的接口。(分数:6.00)A.命令(Command)B.适配器(Adapter)C.装饰(Decorate)D.享元(Flyweight)A.命令(Command)B.适配器(Adapter)C.装饰(

    6、Decorate)D.享元(Flyweight)A.命令(Command)B.适配器(Adapter)C.装饰(Decorate)D.享元(Flyweight)_设计模式允许一个对象在其状态改变时,通知依赖它的所有对象。该设计模式的类图如图所示,其中,_在其状态发生改变时,向它的各个观察者发出通知。 (分数:4.00)A.命令(Command)B.责任链(Chain of Responsibility)C.观察者(Observer)D.迭代器(Iterator)A.SubjectB.ConcreteSubjectC.ObserverD.ConcreteObserver下面给出了 4 种设计模式

    7、的作用。 门面(Facade):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这个子系统更加容易使用。装饰器(Decorator):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。 单例(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。 模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用_设计模式能够有效达到该目的;该系统中的某子模块需要为其他模块提供访问不同数据库系统(Oracle

    8、、SQL Server、DB2 UDB 等)的功能,这些数据库系统提供的访间接口有一定的差异,但访问过程却都是相同的。例如,先连接数据库,再打开数据库,最后对数据进行查询,_设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容。现需要构造带有滚动条,或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加 3 个类,_设计模式可以实现该目的。(分数:6.00)A.门面B.装饰器C.单例D.模板方法A.门面B.装饰器C.单例D.模板方法A.门

    9、面B.装饰器C.单例D.模板方法设计模式_将抽象部分与其实现部分相分离,使它们都可以独立地变化。下图为该设计模式的类图,其中,_用于定义实现部分的接口。 (分数:4.00)A.Bridge(桥接)B.Composite(组合)C.Facade(门面)D.Singleton(单例)A.AbstractionB.ConcreteImplementorAC.ConcreteImplementorBD.Inlplementor在“模型视图控制器”(MVC)模式中,_主要表现用户界面,_用来描述核心业务逻辑。(分数:4.00)A.视图B.模型C.控制器D.视图和控制器A.视图B.模型C.控制器D.视图和

    10、控制器10.以下关于 Singleton(单例)模式的描述中,正确的是_。(分数:1.00)A.它描述了只有一个方法的类的集合B.它描述了只有一个属性的类的集合C.它能够保证一个类的方法只能被一个唯一的类调用D.它能够保证一个类只产生唯一的一个实例11.在面向对象软件开发过程中,采用设计模式_。(分数:1.00)A.允许在非面向对象程序设计语言中使用面向对象的概念B.以复用成功的设计和体系结构C.以减少设计过程创建的类的个数D.以保证程序的运行速度达到最优值二、论述题(总题数:8,分数:40.00)12.阅读下列说明和 C+代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某咖啡店当卖咖

    11、啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表所示。 咖啡及配料表 咖 啡 价格/杯 配 料 价格,份 蒸馏咖啡(Espresso) 25 摩卡(Mocha) 10 深度烘焙咖啡(DarkRoast) 20 奶泡(Whip) 8 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图所示的类图。 (分数:5.00)_13.阅读下列说明和 Java 代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应

    12、的咖啡及配料的种类和价格如表所示。 咖啡及配料表 咖 啡 价格/杯 配 料 价格/份 蒸馏咖啡(Espresso) 25 摩卡(Mocha) 10 深度烘焙咖啡(DarkRoast) 20 奶泡(Whip) 8 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图所示的类图。 (分数:5.00)_14.阅读下列说明和 C+代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某大型商场内安装了多个简易的纸巾售卖机,自动出售 2 元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图 1 所示。 图 1 纸巾售卖的状态图采用状态(State)模式来实现该纸巾售卖机,得到如

    13、图 2 所示的类图。其中类 State 为抽象类,定义了投币、退币、出纸巾等方法接口。类 SoldState、SoldOutState、NoQuarterState 和 HasQuarterState 分别对应图 1 中纸巾售卖机的 4 种状态:售出纸巾、纸巾售完、没有投币、有 2 元钱。 (分数:5.00)_15.阅读下列说明和 Java 代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某大型商场内安装了多个简易的纸巾售卖机,自动出售 2 元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图 1 所示。 图 1 纸巾售卖机的状态图采用状态(State)模式来实现该纸巾售卖机,

    14、得到如图 2 所示的类图。其中类 State 为抽象类,定义了投币、退币、出纸巾等方法接口。类 SoldState、SoldOutState、NoQuarterState 和 HasQuarterState 分别对应图 1 中纸巾售卖机的 4 种状态:售出纸巾、纸巾售完、没有投币、有 2 元钱。 (分数:5.00)_16.阅读下列说明和 C+代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图 1 所示。 图 1 菜单的结构图现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增加新的餐饮形式,得到如

    15、图 2 所示的类图。其中 MenuComponent 为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类 Menu 表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图 1 中的甜点菜单。类 MenuItem 表示菜单中的菜式。 (分数:5.00)_17.阅读下列说明和 Java 代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图 1 所示。 图 1 菜单的结构图现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增加新

    16、的餐饮形式,得到如图 2 所示的类图。其中 MenuComponent 为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类 Menu 表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图 1 中的甜点菜单。类 MenuItem 表示菜单中的菜式。 (分数:5.00)_18.阅读下列说明和 C+代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某公司的组织结构图如图 1 所示,现采用组合(Composition)模式来构造该公司的组织结构,得到如图 2所示的类图。 图 1 某公司的组织结构图(分数:5.00)_

    17、19.阅读下列说明和 Java 代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某公司的组织结构图如图 1 所示,现采用组合(Composition)模式来设计,得到如图 2 所示的类图。 图 1 某公司组织结构图(分数:5.00)_软件设计师-12 答案解析(总分:90.00,做题时间:90 分钟)一、单项选择题(总题数:17,分数:50.00)1.在面向对象软件开发过程中,采用设计模式_。(分数:2.00)A.以复用成功的设计 B.以保证程序的运行速度达到最优值C.以减少设计过程创建的类的个数D.允许在非面向对象程序设计语言中使用面向对象的概念解析:模式是一种问题的解决思路,它已经

    18、适用于一个实践环境,并且可以适用于其他环境。设计模式通常是对于某一类软件设计问题的可重用的解决方案,将设计模式引入软件设计和开发过程,其目的就在于要复用成功的软件开发经验。2.设计模式根据目的进行分类,可以分为创建型、结构型和行为型 3 种。其中结构型模式用于处理类和对象的组合。模式是一种结构型模式。(分数:2.00)A.适配器(Adapter) B.命令(Command)C.生成器(Builder)D.状态(State)解析:本题考查设计模式的分类。3.在进行面向对象设计时,采用设计模式能够_。(分数:2.00)A.复用相似问题的相同解决方案 B.改善代码的平台可移植性C.改善代码的可理解性

    19、D.增强软件的易安装性解析:设计模式是一种指导,在一个良好的指导下,有助于完成任务,有助于做出一个优良的设计方案,达到事半功倍的效果,而且会得到解决问题的最佳办法。采用设计模式能够复用相似问题的相同解决方案,加快设计的速度,提高一致性。4.设计模式具有_的优点。(分数:2.00)A.适应需求变化 B.程序易于理解C.减少开发过程中的代码开发工作量D.简化软件系统的设计解析:设计模式是用一种固定的解决方案来解决某一类问题,这种方式第一大优点是方案出错的可能性很小,因为这些方案都是经过很多人实践总结出来的;第二是适应需求变化。5.欲动态地给一个对象添加职责,宜采用_模式。(分数:2.00)A.适配

    20、器(Adapter)B.桥接(Bridge)C.组合(Composite)D.装饰器(Decorator) 解析:本题考查设计模式的应用场合,题目中的几种设计模式在前文中已有详细描述。这几个模式的核心特点可以总结为: 适配器模式将一个接口转换成为客户想要的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。桥接模式将抽象部分与实现部分分离,使得它们两部分可以独立地变化。 组合模式组合多个对象形成树形结构以表示整体一部分的结构层次。 装饰器模式动态地给一个对象增加其他职责,就增加对象功能来说,装饰器模式比生成子类实现更为灵活。通过总结可以得知,4 个备选设计模式中,装饰器模式最吻合。6._模

    21、式通过提供与对象相同的接口来控制对这个对象的访问。(分数:2.00)A.适配器(Adapter)B.代理(Proxy) C.组合(Composite)D.装饰器(Decorator)解析:本题也是考查设计模式的应用场合,关于适配器、组合、装饰器的特点前面已经介绍过,不再赘述。代理模式通过提供与对象相同的接口来控制对这个对象的访问。7._将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。(分数:2.00)A.Adapter(适配器)模式 B.Command(命令)模式C.Singleton(单例)模式D.Strategy(策略)模式解析:适配器

    22、模式的意图就是将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 命令模式的意图是将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 单例模式的意图是确保某个类只有一个实例,且能自行实例化,并向整个系统提供这个实例。 策略模式的意图是定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换,该模式使得算法可独立于使用它的客户而变化。8.以下关于单例模式(Singleton)的描述中,正确的是_。(分数:2.00)A.它描述了只有一个方法的类的集合B.它能够保证一个类只产生一个

    23、唯一的实例C.它描述了只有一个属性的类的集合D.它能够保证一个类的方法只能被一个唯一的类调用解析:此题属于纯概念题,单例模式的提出,其意图就是保证一个类仅有一个实例,并提供一个访问它的全局访问点。所以本题选 B。9._设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。(分数:2.00)A.Adapter(适配器)B.Iterator(迭代器)C.Prototype(原型)D.Observer(观察者) 解析:本题考查内容涉及的设计模式包括:适配器、迭代器、原型、观察者。设计模式中的_模式将对象组合成树形结构以表示“部分-整体”的

    24、层次结构,使得客户对单个对象和组合对象的使用具有一致性。下图为该模式的类图,其中,_定义有子部件的那些部件的行为;组合部件的对象由_通过 component 提供的接口操作。 (分数:6.00)A.代理(Proxy)B.桥接器(Bridge)C.组合(Composite) D.装饰器(Decorator)解析:A.ClientB.ComponentC.LeafD.Composite 解析:A.Client B.ComponentC.LeafD.Composite解析:本题考查组合设计模式。组合设计模式将对象组合成树形结构以表示“部分-整体”的层次结构,使得客户对单个对象和组合对象的使用具有一致

    25、性。 在类图中,Component 为合成的对象声明接口;某些情况下,实现从此接口派生出所有类共有的默认行为,定义一个接口可以访问及管理它的多个部分(GetChild),如果必要也可以在递归结构中定义一个接口访问它的父节点,并且实现它;Leaf 在合成中表示叶节点对象,叶节点没有子节点;Composite 用来定义有子节点(子部件)的部件的行为,存储子节点(子部件);Client 通过 Component 接口控制组合部分的对象。当不适合采用生成子类的方法对已有的类进行扩充时,可以采用_设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用_设

    26、计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用_设计模式将该类的接口转换成我们希望的接口。(分数:6.00)A.命令(Command)B.适配器(Adapter)C.装饰(Decorate) D.享元(Flyweight)解析:A.命令(Command)B.适配器(Adapter)C.装饰(Decorate)D.享元(Flyweight) 解析:A.命令(Command)B.适配器(Adapter) C.装饰(Decorate)D.享元(Flyweight)解析:装饰器模式主要的目的是在无法生成子类的情况下给一个对象动态地增加新的职责,

    27、享元设计模式是共享大量细粒度的对象,适配器设计模式则是将已有的接口转换为系统希望的接口形式。_设计模式允许一个对象在其状态改变时,通知依赖它的所有对象。该设计模式的类图如图所示,其中,_在其状态发生改变时,向它的各个观察者发出通知。 (分数:4.00)A.命令(Command)B.责任链(Chain of Responsibility)C.观察者(Observer) D.迭代器(Iterator)解析:观察者模式的意图是:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 在观察者模式类图中,Subject 是被观察对象,了解其多个观察者,

    28、任意数量的观察者可以观察一个对象,提供一个接口用来绑定以及分离观察者对象。 Concrete Subject 是具体被观察对象,存储具体观察者 Concrete Observer 有兴趣的状态。当其状态改变时,发送一个通知给其所有的观察者对象。 Observer 是观察者,定义一个更新接口,在一个被观察对象改变时应被通知。 Concrete Observer 是具体观察者,维护一个对 Concrete Subject 对象的引用。A.SubjectB.ConcreteSubject C.ObserverD.ConcreteObserver解析:下面给出了 4 种设计模式的作用。 门面(Faca

    29、de):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这个子系统更加容易使用。装饰器(Decorator):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。 单例(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。 模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用_设计模式能够有效达到该目的;该系统中的某子模块需要为其他模块提供访问不同数据库系统(Oracle、SQL Server、

    30、DB2 UDB 等)的功能,这些数据库系统提供的访间接口有一定的差异,但访问过程却都是相同的。例如,先连接数据库,再打开数据库,最后对数据进行查询,_设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容。现需要构造带有滚动条,或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加 3 个类,_设计模式可以实现该目的。(分数:6.00)A.门面B.装饰器C.单例 D.模板方法解析:单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点

    31、。第 1 空的题目中讲“某些类有且仅有一个实例”,所以选择 C 答案。模板方法是指在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。第 2 空的数据库连接、打开、查询这些是所有数据库系统操作的步骤,只是访问方式有所不同,在算法框架里没必要事先摆出来,可以放到各个子类中讨论,所以选择 D 答案。装饰器是当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。第 3 空是“构造带有”,动态地给一些对象添加额外的功能,所以选择 B 答案。A.门面B.装饰器C.单例D.模板方法 解析:A.门面B.装饰器 C.单例D.模板方法解析:设计模式_将抽象部分与其实现部分相分离,

    32、使它们都可以独立地变化。下图为该设计模式的类图,其中,_用于定义实现部分的接口。 (分数:4.00)A.Bridge(桥接) B.Composite(组合)C.Facade(门面)D.Singleton(单例)解析:A.AbstractionB.ConcreteImplementorAC.ConcreteImplementorBD.Inlplementor 解析:在本题中,根据题目给出的图,我们不难看出该图描述的是桥接模式,它的显著特征是它将抽象部分与实现部分分离,使它们可以相互独立地变化。我们不难从题目给出的图中看出,左边的是抽象类接口,而右边都是实现类接口,显然实现了分离。抽象类接口的下面

    33、是抽象的扩充,而实现类接口的下面是具体实现,因此它们可以相互独立地变化。其中: Abstraction:抽象类定义抽象类的接口。维护一个 Implementor(实现抽象类)的对象。 RefinedAbstraction:扩充的抽象类,扩充由 Abstraction 定义的接口。 Implementor:实现类接口,定义实现类的接口,这个接口不一定要与 Abstraction 的接口完全一致,事实上这两个接口可以完全不同,一般地讲 Implementor 接口仅仅给出基本操作,而 Abstraction 接口则会给出很多更复杂的操作。 ConcreteImplememor:具体实现类,实现 I

    34、mplementor 定义的接口并且具体实现它。在“模型视图控制器”(MVC)模式中,_主要表现用户界面,_用来描述核心业务逻辑。(分数:4.00)A.视图 B.模型C.控制器D.视图和控制器解析:MVC 模式是一个复杂的架构模式,其实现也显得非常复杂。 视图(View)代表用户交互界面,对于 Web 应用来说,可以概括为 HTML 界面,但有可能为 XHTML、XML 和Applet。 模型(Model):就是业务流程/状态的处理及业务规则的制定。业务模型的设计可以说是 MVC 最主要的核心。控制器(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。

    35、A.视图B.模型 C.控制器D.视图和控制器解析:10.以下关于 Singleton(单例)模式的描述中,正确的是_。(分数:1.00)A.它描述了只有一个方法的类的集合B.它描述了只有一个属性的类的集合C.它能够保证一个类的方法只能被一个唯一的类调用D.它能够保证一个类只产生唯一的一个实例 解析:单例模式的意图是确保某个类只有一个实例,且能自行实例化,并向整个系统提供这个实例。11.在面向对象软件开发过程中,采用设计模式_。(分数:1.00)A.允许在非面向对象程序设计语言中使用面向对象的概念B.以复用成功的设计和体系结构 C.以减少设计过程创建的类的个数D.以保证程序的运行速度达到最优值解

    36、析:此题考的是设计模式基本概念,要求考生清楚设计模式的优缺点。设计模式是对被用来在特写场景下解决一般设计问题的类和相互通信的对象的描述。一般而言,一个设计模式有 4 个基本要素:模式名称、问题(模式的使用场合)、解决方案和效果。 每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计。设计模式使人们可以更加简单、方便地复用成功的设计和体系结构;将已证实的技术变成设计模式,也会使新系统的开发者更加容易理解其设计思路。设计模式可以帮助开发者做出有利于复用的选择,避免设计时损害系统复用性。因此正确的答案为 B。二、论述题(总题数:8,分数:40.00)12.阅读下列说明和 C

    37、+代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表所示。 咖啡及配料表 咖啡价格/杯配料价格,份蒸馏咖啡(Espresso) 25 摩卡(Mocha) 10 深度烘焙咖啡(DarkRoast) 20 奶泡(Whip) 8 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图所示的类图。 (分数:5.00)_正确答案:()解析:protected virtual string getDescription virtual int cost(

    38、)=0 Beverage*beverage beverage beverage 本题考查了 C+语言的应用能力和装饰器模式的应用。 第 1 空很明显,是要说明属性 description 在类 Beverage 中的类型,应该是私有的、受保护的或公有的,从后面的程序我们可以看出,子类中继承使用了该属性,因此这里只能定义为受保护的,因此第 1 空的答案为 protected。 第 2 空处也很明显,是要给出一个函数的定义,并且该函数的函数体是“returndescription;”,从子类奶泡和摩卡中我们不难发现这个函数应该是 getDescription,因此本空的答案为 virreal st

    39、ring getDescription。 第 3 空需要结合后面各子类才能发现,在 Beverage 中还应该定义一个函数 cost(),而这个函数在Beverage 中并没有实现,因此要定义为纯虚函数,所以第 3 空的答案为 virtualint cost()=0。 第 4 空在类 CondimentDecorator 中,且是该类唯一的一条语句,而它的子类分别是奶泡和摩卡,在奶泡和摩卡这两个类中,都用到了 Beverage*beverage,而在使用之前并没有说明,因此这就可以说明,Beverage*beverage 是在父类 CondimentDecorator 中定义的,子类直接继承使

    40、用,因此第 4 空的答案为Beverage*beverage。 第 5 空和第 6 空在主函数当中,其中第 5 空是要创建一个 Mocha 对象,应该调用的是类 Mocha 的构造函数,从类 Mocha 中,我们可以看出,其构造函数 Mocha 的参数是一个 Beverage 类型的对象指针,而在主函数中,开始就定义了一个 Beverage 类型的对象指针 beverage,因此这里只需填写 beverage 即可。同理第6 空的答案也是 beverage。13.阅读下列说明和 Java 代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各

    41、种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表所示。 咖啡及配料表 咖啡价格/杯配料价格/份蒸馏咖啡(Espresso25 摩卡(Mocha) 10 ) 深度烘焙咖啡(DarkRoast) 20 奶泡(Whip) 8 现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图所示的类图。 (分数:5.00)_正确答案:()解析:abstract String getDescription abstract int cost() Beverage beverage beverage beverage 本题考查了 Java 语言的应用能力和装饰器模式

    42、的应用。 第 1 空很明显,是要给类 Beverage 前添加定义的关键字,从整个程序来看,我们应该要将类 Beverage 定义为抽象类,需要在前面添加关键字 abstract,因此第 1 空的答案为 abstract。 第 2 空处也很明显,是要给出一个函数的定义,并且该函数的函数体是“returndescription;”,从子类奶泡和摩卡中我们不难发现这个函数应该是 getDescription,而该函数的返回类型是 String,因此本空的答案为 String getDescription。 第 3 空需要结合后面各子类才能发现,在 Beverage 中还应该定义一个函数 cost(

    43、),而这个函数在Beverage 中并没有实现,因此要定义为抽象函数,所以第 3 空的答案为 abstract int cost()=0。 第 4 空在类 CondimentDecorator 中,且是该类唯一的一条语句,而它的子类分别是奶泡和摩卡,在奶泡和摩卡这两个类中,都用到了 Beverage beverage,而在使用之前并没有说明,因此这就可以判定,Beverage beverage 是在父类 CondimentDecorator 中定义的,子类直接继承使用,因此第 4 空的答案为Beverage beverage。 第 5 空和第 6 空在主函数当中,其中第 5 空是要创建一个 M

    44、ocha 对象,应该调用的是类 Mocha 的构造函数,从类 Mocha 中,我们可以看出,其构造函数 Mocha 的参数是一个 Beverage 类型的对象引用,而在主函数中,开始就定义了一个 Beverage 类型的对象引用 beverage,因此这里只需填写 beverage 即可。同理第6 空的答案也是 beverage。14.阅读下列说明和 C+代码,将应填入空白处的字句写在答题纸的对应栏内。 说明 某大型商场内安装了多个简易的纸巾售卖机,自动出售 2 元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图 1 所示。 图 1 纸巾售卖的状态图采用状态(State)模式来实现该

    45、纸巾售卖机,得到如图 2 所示的类图。其中类 State 为抽象类,定义了投币、退币、出纸巾等方法接口。类 SoldState、SoldOutState、NoQuarterState 和 HasQuarterState 分别对应图 1 中纸巾售卖机的 4 种状态:售出纸巾、纸巾售完、没有投币、有 2 元钱。 (分数:5.00)_正确答案:()解析:State tissueMachine-getHasQuarterState() tissueMachine-getNoQuarterState() tissueMachine-getNoQuarterState() tissueMachine-getSoldOutState() 本题考查基本面向对象设计模式的运用能力。 状态模式主要是能够使一个对象的内在状态改变时允许改变其行为,使这个对象看起来像是改变了其类。由类图可知类 State 是类 SoldState、SoldOutState、NoOuarterState 和 HasQuarterState 的父类,它抽象了这 4 个类的共有属性和行为。在使用中,无论是这 4 个类中哪个类的对象,都可被当作 S


    注意事项

    本文(【计算机类职业资格】软件设计师-12及答案解析.doc)为本站会员(sofeeling205)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开