|
|
51CTO旗下网站
|
|
移动端

2017 年下半年软件设计师上午试题分析与解答(6)

《软件设计师历年真题解析》本书针对软件设计师2014—2017年共8次真题进行了试题的分析和解答,帮助考生熟悉试题形式,了解重点、掌握解答问题的方法和技巧等。本节为2017 年下半年软件设计师上午试题分析与解答。

作者:薛大龙来源:电子工业出版社|2018-08-21 13:09

2017 年下半年软件设计师上午试题分析与解答(6)

● 如图所示的 UML 类图中,Shop 和 Magazine 之间为 (41) 关系,Magazine 和Page 之间为 (42) 关系。UML 类图通常不用于对 (43) 进行建模。

(41) A.关联 B.依赖 C.组合 D.继承

(42) A.关联 B.依赖 C.组合 D.继承

(43) A.系统的词汇 B.简单的协作

C.逻辑数据库模式 D.对象快照

试题分析

在UML 类图中,常见的有以下几种关系。

● 依赖(Dependency)

● 泛化(Generalization)

● 关联(Association)

组合(Composition)

聚合(Aggregation)

● 实现(Realization)

类图用于对项目的静态设计视图建模。这种视图主要支持系统的功能需求,即系统要提供给最终用户的服务。当对系统的静态设计视图建模时,通常以下述3 种方式之一使用类图。

. 系统的词汇

. 简单的协作

. 逻辑数据库模式

选项D 的对象快照用于对象图中。

参考答案:(41)A (42)C (43)D

● 自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零 :交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。这一业务需求适合采用 (44) 模式设计实现,其类图如下图所示,其中 (45) 是客户程序使用的主要接口,可用状态来对其进行配置。此模式为 (46) ,体现的最主要的意图是 (47) 。

(44) A.观察者(Obeserver) B.状态(State)

C.策略(Stratehy) D.访问者(Visitor)

(45) A.Vending MachineState B.Buy

C.Vending DepositState D.Vending Stock State

(46) A.创建型对象模式 B.结构型对象模式

C.行为型类模式 D.行为型对象模式

(47) A.当一个对象状态改变时所有依赖它的对象得到通知并自动更新

B.在不破坏封装性的前提下,捕获对象的内部状态并在对象之外保存

C.一个对象在其内部状态改变时改变其行为

D.将请求封装为对象从而可以使用不同的请求对客户进行参数化

试题分析

状态型模式的特点是对于对象内部的状态,允许其在不同的状态下,拥有不同的行为,对状态单独封装成类。题干中根据投入货币的情况,售货机分别有交付产品不找零和交付产品找零以及不提供货物等行为判断该模式是属于状态模式。Vending Machine State 是客户程序使用的主要接口。

设计模式的类型如下所示:

其中与本题相关的几种模式如下。

观察者模式(Observer Pattern):观察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。

访问者模式(Visitor Pattern):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用与这些元素的新操作。即对于某个对象或者一组对象,不同的访问者,产生的结果不同,执行操作也不同。

备忘录模式(Memento Pattern):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。

策略模式(Strategy Pattern):策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

命令模式(Command Pattern):将一个请求封装成一个对象,从而使得用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。

参考答案:(44)B (45)A (46)D (47)C


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Cisco CCNA 640-802题库

Cisco 640-802 Cisco Certified Network Associate (CCNA) Testinside CCNA 640-802 V14 最新题库与Testinside CCNA 640-802 Q&A 192 ...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊