软件设计模式试题集 含答案

  • 格式:pdf
  • 大小:649.52 KB
  • 文档页数:22

下载文档原格式

  / 22
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A. Adapter(适配器)模式
B. Bridge(桥接)模式
C. Strategy(策略)模式 4. 下面属于结构模式的有()。
A 观察者模式(Observer) Байду номын сангаас.策略模式(Strategy) 二.填空
D.Facade (外观)模式
B.单例模式(Singleton) D.外观模式(Façade)
承本质上是“白盒复用”,对父类的修改,不会影响到子类。
2. 在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在( )。
A 外观模式(Facade)
B 装饰模式(Decorator)
C 策略模式(Strategies)
D 桥接模式(Bridge)
3. 行为类模式使用( )在类间分派行为。
4. Façade 外观模式的解决方案是向客户展现使用现有系统的一个新的(接口)。 三.判断
1. Façade(外观)模式不仅可以为方法调用创建更简单的接口,还可以减少客户必须处理的对象数量。对
2. 外观模式,当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。错
3. Façade 模式为子系统中的一组接口提供的界面可能不一致。错
4. Façade 外观模式只能为方法调用创建更简单的接口,不能减少客户必须处理的对象数量。错 四. 名词解释 1. Façade 模式模式定义了一个高层接口,使得这一子系统更加容易使用,为子系统中的一组接口提供一个一
致的界面。 2. 接口
包含了一系列不被实现的方法,而把这些方法的实现交给继承它的类。 3. 组合 一个类是另一个类的组成成分。 4. 耦合度 对模块间关联程度的度量。 五.简答 题 1. Façade(外观)模式解决问题的方案是什么? 如何实现?
2. Adapter 模式的最常见的用法是什么?该模式可以使你不用操心什么方面?
Adapter 模式最通常的用途就是保持多态。Adapter 模式让我们在进行设计时不必再担心现存类的接口问题。 3. Adapter 模式问题的解决方案以及如何实现?
解决方案是 Adapter 模式用我们需要的接口对无法修改的类进行包装。实现:将现存的类包含在另一个类之中。
A.抽象工厂模式( Abstract Factory ) B.工厂方法模式(Factory Method)
C.适配器模式 (Adapter)
D.单例模式(Singleton)
3. 将一个类的接口转换成客户希望的另一个接口。这句话是对下列哪种模式的描述()。
A. 策略模式(Strategies) B.桥接模式(Bridge) C.适配器模式(Adapter) D.单例模式(Singleton) 4. 以下关于结构型模式说法不正确的是 。()A)结构型模式可以在不 破坏类封装性的基础上,实现新的功能。 B)结构型模式主要用于 创建一组对象。 C)结构型模式可以创建一组类的统一访问接口。
包容类与需要的接口相匹配,并调用被包容类的方法。 4.
请简要说明在软件设计中设计模式的作用?
软件设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。
使用设计模式是为了适应需求变化、可重用代码、让代码更容易被他人理解、保证代码的可靠性。
六.应用题
额外的功能。 B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更
加容易使用。
C.保证一个类仅有一个实例,并提供一个访问他的全局访问点。 D.在方法中定义算法的框架, 而将算法中的一些操作步骤延迟到子类中实现。
2. Façade(外观)模式的意图是()。
A. 希望简化现有系统的使用方法,你需要定义自己的接口。 B. 将一个无法控制的现有对象与一个特定借口相匹配。 C. 将一组实现部分从另一组使用它们的对象中分离出来。 D.你需要为特定的客户(或情况) 提供特定系列的对象。 3. ()模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
假设有一个 Client 对象,这个对象必须处理 Database、Model、Element 类的对象。Client 必须首先通过 Database 对象打开数据库,以得到一个对 Model 对象的引用,然后再向 Model 对象请求一个 Element 对象,最后向 Element 对象查询所需的信息。而如果能创建一个 DatabaseFacade 类,让 Client 对象向它发出请求,那么上面的过程可能 就会变得简单一些。 2. 请举例说明 Facade 模式和 Adapter 模式使用场景的差异,并说明它们的解决方案及表现的特点。
1. Facade 模式可以用来(隐藏)系统。该模式能够将系统作为自己的私有成员包含进来。
2. Façade 模式要解决的问题:只需要使用一个复杂系统的一个(子集)。或者,需要用一种特殊的方式与系统交互。
3. Façade 模式不仅可以为方法调用创建更(简单)的接口,还可以减少客户必须处理的对象数量。
4. Adapter 模式不是必须针对某个接口进行设计。错 四.名词解释 1. Adapter 模式
将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使原本由于接口不兼容而不能一起工作的那些 类可以一起工作。
2. 对象 Adapter 模式
使用 Adapter 模式与适当的抽象类相匹配,它通常依赖于一个对象(适配对象)包含另一个对象(被适配对象)。
A 接口 B 继承机制 C 对象组合 D 委托
4. 下面的类图表示的是哪个设计模式?( )。
A 抽象工厂模式(Abstract Factory) B 观察者模式(Observer)
C 策略模式(Strategies)
D 桥接模式(Bridge)
5. Bridge(桥接)模式的意图是( )。
A. 希望简化现有系统的使用方法。你需要定义自己的借口。 B.将一个无法控制的现有对象与一个特定借口相 匹配。 C. 将一组实现部分从另一组使用它们的对象中分离出来。 D.你需要为特定的客户(或情况)提供特定系列的 对象。
4. 设计模式的两大主题是系统复用与系统扩展。对 四. 名词解释
1. 设计模式
是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、
让代码更容易被他人理解、保证代码可靠性。
2. 模板
模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 3. 模式
就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。
1. 根据你的理解,请分析 Façade 模式比 Adapter 模式的相同点和不同点,并说明它们在实际应用中的差异? 在两
个模式中,都拥有现存的类,但是在 Façade 模式中,无须针对某个接口进行设计;而在 Adapter 模式中
则必须针对某个特定接口进行设计。在 Façade 模式中,动机是简化接口,而在 Adapter 模式中,尽管也是越简单
第 7 章 Adapter(适配器)模式 一. 选择
1. Adapter(适配器)模式的意图是()。
A. 希望简化现有系统的使用方法。你需要定义自己的借口。 B.将一个无法控制的现有对象与 一个特定借口相匹配。 C. 将一组实现部分从另一组使用它们的对象中分离出来。 D.你需要为特定的客户(或情况) 提供特定系列的对象。 2. 下面不属于创建型模式的有()。
Façade 向客户展现使用现有系统的一个新的接口。如何实现:定义一个(或一组)新的类来封装所需的接口。 让新的类使用现有的系统。
2. 请简要说明在一个复杂系统中应用 Façade(外观)模式的优点。 当拥有一个复杂的系统时,Façade(外观)模 式使我们只需要使用它的一部分功能。最终我们将得到一个更简
2. 设计模式基本原则包括:开闭原则,(从场景进行设计的原则),包容变化原则。
3. 设计模式是一个(抽象)的方案,它可以解决一类问题。
4. 1. 在设计模式群体中,效果是指(原因和结果)。三. 判断
1. 适配器模式属于创建型模式。错
2. 在设计模式中,“效果”只是指“原因和结果”。 对
3. 设计模式使代码编制不能真正工程化。错
第 9 章 Bridge(桥接)模式 一.选

1. 关于继承表述错误的是:( )。A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的
复用方法。 B.超类可以显式地捕获那些公共的属性和方法。子类则通过附加属性和方法来进行
实现的扩展。 C.在一定意义上说破坏了封装性,因为这会将父类的实现细节暴露给子类。 D.继
B.对象组合与类的继承
C.系统架构与系统开发
D.系统复用与系统扩展
4. 以下哪些问题通过应用设计模式不能够解决 。()
A)指定对象的接口
B)针对接口编程
C)确定软件的功能都正确实现
D)设计应支持变化
二.填空
1. 模式的基本要素包括名称、意图、问题、解决方案、参与者和协作者、(效果)、实现、GoF 参考。
4. 内聚度
模块内部各成分彼此结合的紧密程度。 五.简答

1. 什么是设计模式?设计模式的目标是什么?设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码 设计经验的总结。使用设计模式是为了可
重用代码、让代码更容易被他人理解、保证代码可靠性。
2. 设计模式的基本要素有哪些?
名称,意图,问题,解决方案,参与者和协作者,效果,实现,GOF 参考。
4. (Adapter 适配器)模式使原本接口不兼容而不能一起工作的类可以一起工作。
5. 适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是(继承)关系,而对象适配 器采用的是组合聚类关系。 三.判断
1. 对象适配器模式是合成聚合复用原则的典型应用。对
2. Adapter 模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。对 3. Façade 模式和 Adapter 模式是相同类型的包装器。错
3. 设计模式中一般都遵循的原则有什么?
开-闭原则,根据场景进行设计原则,优先组合原则,包容变化原则。
4. 四人团针对“创建优秀面向对象设计”建议了哪些策略?
针对接口编程,优先使用对象组合而不是类继承,找到并封装变化点。 第 6 章 facade(外观)模式
一.选择
1. 外观模式的作用是()。A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些
3. 类 Adapter 模式
当实现 Adapter 模式的方法是使用多重继承。在这种情况下,它被成为类 Adapter 模式。 4. 多态
相关的对象按照各自类型来实现方法的能力。 五. 简答题 1. 给出 Adapter 模式的定义及意图。
意图是将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使原本由于接口不兼容而不能一起工作 的那些类可以一起工作。
越好,目的是针对一个现有的接口进行设计,并不能简化任何东西,即使可能有另一个更简单的接口。总之,在实
际应用中,Façade 模式简化接口,而 Adapter 模式将接口转换成另一个现有的接口。
2. 请说明什么是 Adapter 模式,Adapter 模式有哪几种形式?请举例说明?
第 8 章 扩展我们的视野
设计模式试题
一.选择
1. 设计模式具有的优点()。
A.适应需求变化
B.程序易于理解
C.减少开发过程中的代码开发工作量
D.简化软件系统的设计
2. 设计模式一般用来解决什么样的问题( )。
A.同一问题的不同表相
B 不同问题的同一表相
C.不同问题的不同表相
D.以上都不是
3. 设计模式的两大主题是( )。
A.系统的维护与开发
D)结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。 二. 填空 1. 适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是继承关系,而对象适配器采 用的是(组合聚合)关系。 2. Adapter 模式有两种类型有 :对象 Adapter 模式、(类 Adapter 模式)。 3. UML 是一种用来创建(程序模型)的图像语言。
单,更容易使用的或根据我们的需要定制的系统。 3. Façade 模式的意图是什么?
望那个简化现有系统的使用方法,需要定义自己的接口。 4. 在 Facade 模式中,客户是如何使用子系统的?
六.应用题
1. 请论述在一个系统中应用 Façade(外观)模式的必要性,并给出一种解决方案。 Façade(外观)模式不仅可以 为方法调用创建更简单的接口,还可以减少客户必须处理的对象数量。举个例子。