软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编14
(总分:46.00,做题时间:90分钟)
一、 选择题(总题数:14,分数:46.00)
1.选择题()下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。
__________________________________________________________________________________________
解析:
2.(44)设计模式定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。这一模式使得算法可独立于它的客户而变化。
(分数:2.00)
 A.策略(Strategy) 
 B.抽象工厂(AbstractFactory)
 C.观察者(Visitor)
 D.状态(State)
解析:解析:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化;抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态;观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。状态设计模式允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。所以本题答案为A。
3.在发布一订阅(Publish—Subscribe)消息模型中,订阅者订阅一个主题后,当该主题有新消息到达时,所有订阅者都会收到通知。(45)设计模式最适合这一模型。(45)
(分数:2.00)
 A.适配器(Adapter)
 B.通知(Notitier)
 C.状态(State) 
 D.观察者(Observer)
解析:解析:适配器设计模式是将一个类的接口转换成客户希望的另外一个接口;通知是一个对象对多个对象的同步操作;观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。状态设计模式允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。依题意可知答案选C。
4.欲使类A的所有使用者都使用A的同一个实例,应(47)。
(分数:2.00)
 A.将A标识为final
 B.将A标识为abstract
 C.将单例(Singleton)模式应用于A 
 D.将备忘(Memoto)模式应用于A
解析:解析:单例(Singleton)模式用于确保某个类只有一个实例,且自行实例化,并向整个系统提供该实例。Singleton模式为一个面向对象的应用程序提供了对象唯一的访问点,不管它实现何种功能,整个应用程序都会共享一个实例对象。
5.设计模式根据目的进行分类,可以分为创建型、结构型和行为型三种。其中结构型模式用于处理类和对象的组合。(44)模式是一种结构型模式。
(分数:2.00)
 A.适配器(Adapter) 
 B.命令(Command)
 C.生成器(Builder)
 D.状态(State)
解析:解析:结构型设计模式有:适配器(Adapter)模式、桥接(Bridge)模式、组合(Compo
nent)模式、代理(Proxy)模式,享元(Flyweight)模式、Facade模式、装饰(Decorator)模式。命令(Command)和状态(State)模式是行为型模式,生成器(Builder)是创建型模式。
6.欲动态地给一个对象添加职责,宜采用(43)模式。
(分数:2.00)
 A.适配器(Adapter)
 B.桥接(Bridge)
 C.组合(Composite)
 D.装饰器(Decorator) 
解析:解析:适配器(Adapter)、桥接(Bridge)、组合(Composite)、装饰器(Decorator)都是结构型设计模式,用于处理类或对象的组合。适配器使得一个接151与其他接口兼容,从而给出了多个不同接口的统一抽象;桥接模式将对象的抽象和其实现分离;组合模式描述了如何构造一个类层次式结构;装饰器模式描述了如何动态地为对象添加职责。
7.在面向对象软件开发过程中,采用设计模式(43)。
(分数:2.00)
 A.以复用成功的设计 
中级电工证考试内容
 B.以保证程序的运行速度达到最优值
2022社工编制最新消息
 C.以减少设计过程创建的类的个数
 D.允许在非面向对象程序设计语言中使用面向对象的概念
解析:解析:在面向对象软件开发过程中,每一个设计模式都系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计。设计模式使人们可以更加简单方便地复用成功的设计和体系结构。通过提供一个显式类和对象作用关系以及它们之间潜在联系的说明规范,设计模式甚至能够提高已有系统的文档管理和系统维护的有效性。简而言之,设计模式可以帮助设计者更快更好地完成系统设计。
8.以下关于Singleton(单例)模式的描述中,正确的是(46)。
(分数:2.00)
 A.它描述了只有一个方法的类的集合
 B.它描述了只有一个属性的类的集合
 C.它能够保证一个类的方法只能被一个唯一的类调用
 D.它能够保证一个类只产生唯一的一个实例 
解析:解析:Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。
9.(47)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(分数:2.00)
 A.Adapter(适配器)模式 
 B.Command(命令)模式
 C.Singleton(单例)模式
 D.Strategy(策略)模式
解析:解析:一般来说,适配器使得一个接口与其他接口兼容,从而给出了多个不同接口的统一抽象。Command模式将请求封装在对象中,这样它就可以作为参数来传递,也可以被储存在历史列表里,或者以其他方式使用。Strategy模式将算法封装在对象中,以方便地指定和改变一个对象所使用的算法。
图9—19所示为(46)设计模式,适用于:(47)。(分数:4.00)
(1).(46)(分数:2.00)
 A.组件(Component)
 B.适配器(Adapter)
 C.组合(Composite) 
 D.装饰器(Decorator)
解析:公务员不承认一年制硕士
(2).(47)(分数:2.00)
 A.表示对象的部分一整体层次结构 
 B.不希望在抽象和它的实现部分之间有一个固定的绑定关系
 C.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
 D.使所有接口不兼容类可以一起工作
解析:解析:组合(Component)模式将对象组合成树形结构以表示“部分一整体”的层次结构,其中的组合对象使用户可以组合基元对象以及其他对象,从而形成任意复杂的结构。类Component为组合中的对象声明接口,类Lear在组合中表示叶节点对象,并在组合中定义图元对象的行为。类Composite定义有子部件的那些部件的行为、存储子部件,并在Component接口中实现与子部件的有关操作。类Clienti通过Component接口操纵组合部件的对象。
UML类图中类与类之间的关系有五种:依赖、关联、聚合、组合与继承。若类A需要使用
标准数学函数类库中提供的功能,那么类A与标准类库提供的类之间存在(45)关系;若类A中包含了其他类的实例,且当类A的实例消失时,其包含的其他类的实例也消失,则类A和它所包含的类之间存在(46)关系;若类A的实例消失时,其他类的实例仍然存在并继续工作,那么类A和它所包含的类之间存在(47)关系。(分数:6.00)
(1).(45)(分数:2.00)
 A.依赖 
 B.关联
 C.聚合
 D.组合
解析:
(2).(46)(分数:2.00)
 A.依赖
 B.关联
 C.聚合
 D.组合 
解析:
(3).(47)(分数:2.00)
 A.依赖
 B.关联
 C.聚合 
 D.组合
解析:解析:UML类图中类与类之间的关系有五种:依赖、关联、聚合、组合与继承。依赖是几种关系中最弱的一种关系,通常,使用类库就是其中的一种关系。聚合与组合都表示
了整体和部分的关系。组合的程度比聚合高,当整体对象消失时,部分对象也随之消失,则属于组合关系,当整体对象消失而部分对象依然可以存在并继续被使用时,则属于聚合关系。
(44)设计模式能使一个对象的状态发生改变时通知所有依赖它的监听者。(45)设计模式限制类的实例对象只能有一个。适配器(Adapter)设计模式可以用于(46)。用于一个对象添加更多功能而不使用子类的是(47)设计模式。(分数:8.00)
(1).(44)(分数:2.00)
 A.责任链(ChainofResponsibilitv)
 B.命令(Command)
 C.抽象工厂(AbstractFactory)
考公务员需要什么条件? D.观察者(Observer) 
解析:
(2).(45)(分数:2.00)
 A.原型(Prototype)
 B.工厂方法(FactoryMethod)
 C.单例(Singleton) 
 D.生成器(Builder)
解析:
(3).(46)(分数:2.00)
 A.将已有类的接口转换成和目标接口兼容 
 B.改进系统性能
 C.将客户端代码数据转换成目标接口期望的合适的格式
 D.使所有接口不兼容类可以一起工作新疆人事网首页
解析:
(4).(47)(分数:2.00)
 A.桥接(Bridge)
贵州163国企招聘信息网
 B.适配器(Adapter)
 C.组合(Composite)
 D.装饰器(Decorator) 
解析:解析:观察者模式(有时又被称为发布一订阅模式、模型一视图模式、源一收听者模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个
每种设计模式都有特定的意图。(44)上模式使得一个对象在其内部状态改变时通过调用另一个类中的方法改变其行为,使这个对象看起来如同修改了它的类。图9—20是采用该模式的有关TCP连接的结构图实例。该模式的核心思想是引入抽象类(45)来表示TCP连接的状态,声明不同操作状态的公共接口,其子类实现与特定状态相关的行为。当一个(46),对象收到其他对象的请求时,它根据自身的当前状态做出不同的反应。(分数:6.00)