设计模式考试复习题含答案

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

)

含答案(设计模式考试复习题.

A.设计模式一般用来解决什么样的问题:

一、1.

同一问题的不同表相里氏代 C.2. 下列属于面向对象基本原则的是:

换A.原则的含义是一个软件实体:3. Open-Close.

应当对扩展开放,对修改关闭当我们想创建一个具体的对象而又不希望指4.

A.)模式。创建型定具体的类时,使用(A要依赖于抽象不要依赖于具体。即针对接口5.

D)依赖倒转原则编程不要针对实现编程:(程序开发中应优先使用依据设计模式思想,6.

委派关系实现复用。的是( A )A,

系统复用( D ) D.7. 设计模式的两大主题是与系统扩展和单体类自(AB),两个基

本要点8. 单体模式中 B.唯一实例己提供单例A .构造函数私有( B ) B属于行为模式的是,9. 下列模式中观察者原则的通是 ( D )10. “不要和陌生人说话”迪米特 D.俗表述软件体系结构是指一个

系统的有目的的设计1.

也不,活动这个设计规划既不描述和规划,

组它只描述系统的,描述系统怎样开发。交互协作成元素及其相互的要做什.一个2UML模型只描述了一个系统

。怎么做,它并没告诉我们系统是么.接口是可以在整个模型中反复使用的一组行3 的类。方法属性为,是一个没有

而只有

个对象可.多重性指的是,某个类有多4 对象关联。以和另一个类

自.当一个类的对象可以充当多种角色时,5 身关联就可能发生。父类。后前可以替代.在泛化关系中,子类6

者出现的可以相同地方。反过来却不成立。形构.最通常的依赖关系是一个类操作的

7 中用到了的定义。另一个类因为聚集中的每.的聚集,组成是强类型8 个部分体只能属于整体。一个

.实现的符号和继承的符号有相似之处,两者9表示,继承关虚线的唯一差别是实现关系用表示。实线系用

对象组合10. 设计模式中应优先使用。而不是类继承

) F 配器模式属于创建型模式结构型(适1.

2.在设计模式中,“效果”只是指“原因和结果”( T )

3.设计模式使代码编制不能真正工程化( T )

4.面向对象语言编程中的异常处理,可以理解为责任链模式(T )

5.反模式就是反对在软件开发过程中使用设计模式分析:反模式用来解决问题的带有共性的不良方法(F )

1.什么是设计模式?设计模式目标是什么?

答:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总

结。使用设计模式是为了可重用代码、让代码更容易被他人理解,保证代码可靠性。

2.设计模式中一般都遵循的原则有什么?答:开闭原则、根据场景进行设计原则、优先组合原则、包容变化原则

3.“Gang of Four”针对“创建优秀面向对象设计”建议了哪些策略?

答:针对接口编程、优先使用对象组合而不是类继承,找到并封装变化点。

4.面向对象系统中功能复用的两种最常用技术是什么?

答:类继承和对象组合,类继承允许你根据其他类的实现来定义一个类的实现。父类的内部细节对子类可见。类继承是在编译时刻静态定

义的,且可直接使用,类继承可以较方便地改变被复用的实现。对象组合是类继承之外的另一种复用选择。新的更复杂的功能可以通过组装或组合对象来获得。对象组合要求被组合的对象具有良好定义的接口。

5.只根据抽象类中定义的接口来操纵对象有什么好处?

答:1) 客户无须知道他们使用对象的特定类型,只须对象有客户所期望的接口。

2) 客户无须知道他们使用的对象是用什

么类来实现的,他们只须知道定义接口的抽象类。

五、应用题(分值15)

公司架构:经理、工程师、技师和后勤人员都是公司的雇员,经理管理工程师、技师和后勤人员。高层经理领导较低级别的经理。典型层次图如下:可以使用哪种设计模式实现公司的层级关系?并说明为什么?

组合模式,第一,其公司关系架构为树形结构;整体关系(自己扩展)-第二,其表示了部分.

1. 在观察者模式中,表述错误的是( C )

C. 观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。

对于违反里式代换原则的两个类,可以采用2.

的候选解决方案错误的是:( D )D. 以上方案错误

3. 下列模式属于结构型设计模式的是

( AB )

A. Composite

B. 享元(Flyweight)模式

4. 关于继承表述错误的是:( D )D. 继承本质上是“白盒复用”,对父类的修改,不会影响到子类。

5. 对于依赖倒转的表述错误的是(C)C. 从选项B的角度论述,一个对象可以有多个接口。

6. 可以使用哪一种设计模式限制类的实例唯一?( D )D.单体模式

7. Java数据库连接库JDBC用到哪种设计模

式( B )?B.工厂方法

8. 关于运用GOF工厂方法的效果Consequences,说法不正确的是(C)有利

于产品的一致性

8. 在应用程序中可用哪些设计模式分离

出算法?( B )B. 策略模式

9. 工厂方法也称为( D )D. 虚构造器

10. 可以使用哪种设计模式将抽象和实现

解耦,使得抽象和实现可以独自变化?( B )桥接模式

1. 面向对象的七条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(迪米特法则),(依赖倒转),(单一原

则),(接口隔离)。

2. 在存在继承关系的情况下,方法向(超类)方向集中,而数据向(子类)方向集中。

3. 适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是(继承)关系,而对象适配器采用的是(组合聚合)关系。

4. 设计模式的四个基本要素是(名字),(意图),(问题)和(解决方案)。

相关文档
最新文档