设计模式试题(仅供参考)

更新时间:2024-01-27 03:10:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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 )

A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 8、单例模式中,两个基本要点( a b )和单子类自己提供单例 A .构造函数私有 B.唯一实例 C.静态工厂方法 D.以上都不对 9、下列模式中,属于行为模式的是( b )

A.工厂模式 B观察者 C适配器 以上都是 10、“不要和陌生人说话” 是( d )原则的通俗表述

A.接口隔离 B.里氏代换C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解

11、构造者的的退化模式是通过合并( c )角色完成退化的。

A.抽象产品 B产品 C创建者 D使用者 12、单子(单例,单态)模式类图结构如下:

下列论述中,关于”0..1”表述的不正确的是( d ) A.1表示,一个单例类中,最多可以有一个实例. B.”0..1”表示单例类中有不多于一个的实例 C.0表示单例类中可以没有任何实例

D.0表示单例类可以提供其他非自身的实例 13、对象适配器模式是( a )原则的典型应用。

A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 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.设计模式的思想根源是(开闭)基本原则的宏观运用,本质上是没有任何模式的, 发现模式的人永远是大师,而死守模式的人,最对只能是一个工匠. 设计模式部分(30分)Java班

(1)以下是模式的基本要素的是 。ABCD

A)名称 B)意图C)解决方案 D)参与者和协作者 (2)常用的描述设计模式的格式有 。ABCD A)意图 B)动机 C)适用性D)结构

(3)以下哪些问题通过应用设计模式能够解决 。AD

A)指定对象的接口B)排除软件BUG C)确定软件的功能都正确实现D)设计应支持变化 (4)面向对象系统中功能复用的最常用技术是 。AB A)类继承B)对象组合C)使用抽象类D)使用实现类 (5)常用的基本设计模式可分为 。A

A)创建型、结构型和行为型B)对象型、结构型和行为型 C)过程型、结构型和行为型D)抽象型、接口型和实现型 (6)以下关于创建型模式说法正确的是 。A

A)创建型模式关注的是对象的创建 B)创建型模式关注的是功能的实现

C)创建型模式关注的是组织类和对象的常用方法 D)创建型模式关注的是对象间的协作

(7)以下属于创建型模式的是 。AC

A)抽象工厂(Abstract Factory)模式 B)合成(Composite)模式

C)单例(Singleton)模式D)桥接(Bridge)模式

(8)以下哪个模式是利用一个对象,快速地生成一批对象 。 C A)抽象工厂(Abstract Factory)模式 B)合成(Composite)模式 C)原型(Prototype)模式D)桥接(Bridge)模式

(9)在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在。 AD

A)适配器(Adapte)模式 B)合成(Composite)模式 C)原型(Prototype)模式D)桥接(Bridge)模式 (10)结构型模式中最体现扩展性的几种模式是 。C A)适配器(Adapte)模式 B)合成(Composite)模式 C)装饰(Decorator)模式D)桥接(Bridge)模式 (11)行为类模式使用 在类间分派行为。C A)接口 B)继承机制 C)对象组合 D)委托

(12)以下属于行为对象模式的是 。ABCD

A)模板(Template Method)模式 B)迭代器(Iterator)模式 C)命令(Command)模式D)观察者(Observer)模式 (13)封装分布于多个类之间的行为的模式是 。 C A)观察者(Observer)模式 B)迭代器(Iterator)模式 C)访问者(Visitor)模式D)策略(Strategy)模式 (14)Observer(观察者)模式适用于 。C

A)当一个抽象模型存在两个方面,其中一个方面依赖于另一方面,将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。

B)当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变时。

C)当一个对象必须通知其它对象,而它又不能假定其它对象是谁。也就是说你不希望这些对象是紧密耦合的。

D)一个对象结构包含很多类对象,它们有不同的接口,而想对这些对象实施一些依赖于其具体类的操作。

(15)Java的异常处理机制可理解为哪一种行为模式 。C A)观察者(Observer)模式 B)迭代器(Iterator)模式

C)职责链(Chain of Responsibility)模式D)策略(Strategy)模式

本文来源:https://www.bwwdw.com/article/jdsw.html

Top