java设计模式考试题

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

A. 系统的维护与开发

B 对象组合与类的继承 C. 系统架构与系统开发 D. 系统复用与系统扩展

8、单子模式中 , 两个基本要点 A . 构造函数私有

( a b ) 和单子类自己提供单例

B. 唯一实例

C. 静态工厂方法

D. 以上都不对 9、下列模式中 , 属于行为模式的是 ( b )

A. 工厂模式 B 观察者 C 适配器 以上都是

10、“不要和陌生人说话” 是 ( d ) 原则的通俗表述

A. 接口隔离

B. 里氏代换

C. 依赖倒转 尽可能少

的了解

D. 迪米特:一个对象应对其他对象 11、构造者的的退化模式是通过合并(

c )角色完成退化的。 A. 抽象产品 B 产品 C 创建者

D 使用者

1、设计模式一般用来解决什么样的问题

( a) A. 同一问题的不同表相

B 不同问题的同一表相 C. 不同问题的不同表相 D. 以上都不是

2、下列属于面向对象基本原则的是 ( c )

A. 继承

B. 封装

C. 里氏代换 D 都不是

3、Open-Close 原则的含义是一个软件实体 ( a )

A. 应当对扩展开放,对修改关闭 .

B. 应当对修改开放,对扩展关闭

C. 应当对继承开放,对修改关闭

D. 以上都不对

4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(

a )模式。

A. 创建型

B. 结构型 C 行为型 D. 以上都可以

5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程

,是( d ) 的表述 A. 开 - 闭原则

B. 接口隔离原则

C. 里氏代换原则

D. 依赖倒转原则 6、依据设计模式思想 , 程序开发中应优先使用的是 ( a ) 关系实现复用。 A, 委派 B. 继承 C 创建

D. 以上都不对 复用方式:继承和组合聚合(组合委派)

7、设计模式的两大主题是 ( d )

12、单子(单例,单态)模式类图结构如下:

下列论述中,关于” 0..1 ”表述的不正确的是 ( d )

A. 1 表示 ,一个单例类中 , 最多可以有一个实例 .

B. ”0..1 ”表示单例类中有不多于一个的实例

C. 0 表示单例类中可以没有任何实例

D. 0 表示单例类可以提供其他非自身的实例

13、对象适配器模式是( a )原则的典型应用。

A. 合成聚合复用原则C. 依赖倒转原则

B. 里式代换原则

D. 迪米特法则

14、静态工厂的核心角色是(a)

A. 抽象产品

B. 具体产品

C. 静态工厂

D. 消费者

15、下列关于静态工厂与工厂方法表述错误的是:( a )

A. 两者都满足开闭原则:静态工厂以 if else 方式创建对象,增加需求的时候会修改源代

B. 静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法中

C. 不能形成静态工厂的继承结构

D. 在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。

16、在观察者模式中,表述错误的是( c )

A. 观察者角色的更新是被动的。

B. 被观察者可以通知观察者进行更新

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

D. 以上表述全部错误。

17. 对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:( d )

A. 创建一个新的抽象类 C, 作为两个具体类的超类,将 A 和 B 共同的行为移动到 C

中,从而解决 A 和 B 行为不完全一致的问题。

B. 将B到A的继承关系改组成委派关系。

C. 区分是“IS - a”还是” Has— a”。如果是“ Is - a”,可以使用继承关系,如果是” Has— a”应该改成委派关系

D. 以上方案错误

18. 对象组合的有点表述不当的是( d )

A. 容器类仅能通过被包含对象的接口来对其进行访问。

B. “黑盒”复用,封装性好,因为被包含对象的内部细节对外是不可见。

C. 通过获取指向其它的具有相同类型的对象引用,

可以在运行期间动态地定义(对象的)组合

D. 造成极其严重的依赖关系。

19. 关于继承表述错误的是:( d )

A. 继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。

B. 泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加属性和方法来进行实现的扩展。

C. 破坏了封装性,因为这会将父类的实现细节暴露给子类。

D. 继承本质上是“白盒复用”,对父类的修改,不会影响到子类。

20. 对于依赖倒转的表述错误的是( e )

A. 依赖于抽象而不依赖于具体,也就是针对接口编程。

B. 依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法集合。

C. 从选项 B 的角度论述,一个对象可以有多个接口。

D. 实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。

E. 此题没有正确答案。

21. 面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(依赖倒转),(迪

米特法则),(单一原则),(接口隔离?)。

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

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

24. 设计模式的基本要素有(名字),(意图),(问题),(解决方案),(参与者与协作者),(实现),(一般性结构)。

25. 创立型模式的根本意图是要把(对象的创建)和(使用分离)的责任进行分离,从而降低系统的(耦合度)。

26. 工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型

27. 门面模式是(迪米特)法则的典型运用

28. MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式

29. 设计模式的思想根源是(开闭)基本原则的宏观运用 ,本质上是没有任何模式的 ,

发现模式的人永远是大师 ,而死守模式的人 , 最对只能是一个工匠 .

相关文档
最新文档