软件设计模式-选择题
1.类 A 包含类 B,而且可以控制类 B 的生命周期。那么以下哪个类图
正确了表示类 A 与类 B 之间的关系? 正确答案: B
A. B.
C. D.
2.下面 Java 代码所对应的类的关系是哪个? 正确答案: D
class Driver
{
public void drive(Car car)
{
car.move();
}
}
class Car
{
public void move()
{……}
}
A. B.
C. D.
3. (单选题)下面的代码实现了哪个模式?正确答案: C
private static ClassA uinstance=null;
public static ClassA instance()
{
if(uinstance==null)
uinstance=new ClassA();
return uinstance;
}
A. Template Method B. Command C. Singleton
D.State
4. (单选题)当我们想创建一个具体的对象而又不希望指定具体的
类时,可以使用( 正确答案: A )模式
A. 创 建 型 B. 结 构 型 C. 行 为 型
D. 以上都可以
5. (单选题)下列模式中,属于行为模式的是( 正确答案: B )
A. 工厂模式 B. 观察者 C. 适配器 D.
以上都是
6. (单选题)关于继承表述错误的是:( 正确答案: D )
A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复
用方法。
B.泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类
(子类)则通过附加属性和方法来进行实现的扩展。
C.破坏了封装性,因为这会将父类的实现细节暴露给子类。
D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。
7.(单选题)设计模式的两大主题是正确答案: D
A.系统的维护与开发 B.对象组合与类的继承 C.系统
架构与系统开发 D.系统复用与系统扩展
8.(单选题)设计模式一般用来解决什么样的问题( 正确答
案: A )。
A. 同一问题的不同表相 B. 不同问题的同一表相 C.
不同问题的不同表相 D. 以上都不是
9.(单选题)以下哪些问题通过应用设计模式不能够解决( 正确答
案: C )
A. 指定对象的接口 B. 针对接口编程 C. 确定软件的功能
都正确实现 D. 设计应支持变化
10.(单选题)Facade(外观)模式的意图是 正确答案: A
A.希望简化现有系统的使用方法,你需要定义自己的接口
B.将一个无法控制的现有对象与一个特定借口相匹配。
C.将一组实现部分从另一组使用它们的对象中分离出来。
D.你需要为特定的客户(或情况)提供特定系列的对象。
11. (单选题)下面属于结构模式的有( 正确答案: D )
A.观察者模式(Observer) B.单例模式(Singleton) C.策略
模式(Strategy) D.外观模式(Fagade)
12. ( 单 选 题 ) 下 面 不 属 于 创 建 型 模 式 的 有 ( 正 确 答
案: C )。
A.抽象工厂模式( Abstract Factory ) B.工厂方法模式(Factory
Method)
C.适配器模式(Adapter) D.单例模式(Singleton)
13. (单选题)以下关于结构型模式说法不正确的是( 正确答
案: B )
A.结构型模式可以在不破坏类封装性的基础上,实现新的功能。
B.结构型模式主要用于创建一组对象。
C.结构型模式可以创建一组类的统一访问接口。
D.结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估
计到的系统进行交互。
14. (单选题)在不破坏类封装性的基础上,使得类可以同不曾估计
到的系统进行交互。主要体现在( 正确答案: D )
A.外观模式(Facade) B.装饰模式(Decorator) C.策略模式
((Strategies) D.桥接模式(Bridge)
15. ( 单 选 题 ) 下 面 的 类 图 表 示 的 是 哪 个 设 计 模 式 ?( 正 确 答
案: D )
A.抽象工厂模式(Abstract Factory) B.观察者模式(observer)
C.策略模式(Strategies) D.桥接模式(Bridge)
16. (单选题)按照四人团的说法, Bridge 模式的意图是( 正确
答案: A )。
A.将抽象部分与它的实现部分相分离,使它们可以独立地变化.
B.将抽象部分与它的实现部分相分离,但它们不能独立地变化.
C.将抽象部分与它的实现部分相结合,但它们可以独立地变化.
D.将抽象部分与它的实现部分相结合,使它们相互依赖.
17. (单选题)以下叙述不对的是( 正确答案: A )
A.学习设计模式告诉我们要尽可能使用继承.
B.学习设计模式通常可以找到比仅采用面向对象方法更好的解决方
案.
C.学习设计模式告诉我们要尽可能使用组合.
D.Bridge 模式适用于一个抽象部分拥有不同的实现部分的情形。
18. (单选题)根据 Coplien 关于共同点/变化点的说法,下面哪个是
正确的( 正确答案: B )
A. 共同点分析就是寻找一个不会随时间变化的结构,而变化点分析
就是捕捉变化的内容.
B.共同点分析是寻找家族成员的相同元素.
C.在一个系统中,共同点和不同点的关系是相对的,可以互相转化.
D.共同点通常由父类实现,而变化点通常由子类实现.
19. (单选题)当我们想创建一个具体的对象而又不希望指定具体的
类时,可以使用( 正确答案: A )模式
A.创建型 B.结构型 C.行为型 D.以上都可以
20. (单选题)以下哪一条是 Alexander 的场景原则( 正确答
案: B )。
A.在对象实例化之前,要考虑它的实例化
B.当你有一个涉及创建对象的设计模式时,对象应为模式提供场景。
C.模式的选取与场景无关。
D.在一个系统中,由于模式之间的作用是相互的,不存在最高级别的
模式。
21. (单选题)Open-Close 原则的含义是一个软件实体( 正确
答案: A )。
A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩
展关闭
C. 应当对继承开放,对修改关闭 D.以上都不对
22. ( 单 选 题 ) 下 列 属 于 设 计 模 式 基 本 原 则 的 是 ( 正 确 答
案: C )
A.继承 B.封装 C.开放-封闭 D.都不是
23. (单选题)以下哪一条不属于设计模式的基本原则( 正确答
案: C )
A.开放-封闭原则。 B.根据场景进行设计的原则 C.优先
使用继承的原则 D.包容变化的原则
24. ( 单 选 题 )Decorator 模 式 的 描 述 正 确 的 是 ( 正 确 答
案: B )
A.该模式的意图是动态地给一个对象添加一些额外的职责。就增加功
能来说,该模式相比生成子类不够灵活。
B.适用于在不影响其他对象的情况下,以动态、透明的方式给单个对
象添加职责。
C.该模式的意图是将对象组合成树形结构以表示“部分-整体”的层
次结构。该模式使得用户对单个对象和组合对象的使用具有一致性。
D.该模式适用性是你想表示对象的部分-整体层次结构。
25. (单选题)下面的类图表示的是哪个设计模式? ( 正确答
案: A )。
A.装饰模式(Decorator) B.适配器模式(Adapter) C.策略模
式(Strategies) D.桥接模式(Bridge)
26. (单选题)Singleton 模式适用于( 正确答案: B )
A.当类有多个实例而且客户可以从一个众所周知访问点访问它时。
B.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更
改代码就能使用一个扩展的实例时。
C.当构造过程必须允许被构造的对象有不同的表示时。
D.生成一批对象时。
27. (单选题)单例模式的作用是( 正确答案: C )。
A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一
些额外的功能。
B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这
一子系统更加容易使用。
C.保证一个类仅有一个实例,并提供一个访问他的全局访问点。
D.单例模式仅仅应用于多线程应用程序中。