设计模式单元测试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计模式
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 )和单子类自己提供单例
A .构造函数私有 B.唯一实例
C.静态工厂方法
D.以上都不对
9.下列模式中,属于行为模式的是( b )
A.工厂模式B观察者C适配器以上都是
10.“不要和陌生人说话”是( a )原则的通俗表述
A.接口隔离
B.里氏代换
C.依赖倒转
D.迪米特
11.静态工厂的退化模式是通过合并( a )角色完成退化的。
A.抽象产品B产品C创建者D使用者
12.单子(单例,单态)模式类图结构如下:
下列论述中,关于”0..1”表述的不正确的是( d )
A.1表示,一个单例类中,最多可以有一个实例.
B.”0..1”表示单例类中有不多于一个的实例
C.0表示单例类中可以没有任何实例
D.0表示单例类可以提供其他非自身的实例
13.对象适配器模式是( a )原则的典型应用。
A.合成聚合复用原则
B.里式代换原则
C.依赖倒转原则
D.迪米特法则
14.静态工厂的核心角色是(b )
A.抽象产品
B.具体产品
C.静态工厂
D.消费者
15.下列关于静态工厂与工厂方法表述错误的是:( a )
A.两者都满足开闭原则
B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方
法中已经克服。
C.不能形成静态工厂的继承结构
D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级
结构的工厂创建的。
16.在观察者模式中,表述错误的是(d )
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.对于依赖倒转的表述错误的是( d )
A.依赖于抽象而不依赖于具体,也就是针对接口编程。
B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他
对象进行调用时,所知道的方法集合。
C.实现了同一接口的对象,可以在运行期间,顺利地进行替换。
而且不必知道所示用的对象是那个实现类的实例。
D.此题没有正确答案。
21.适配器模式,分为类的适配器和对象的适配器两种实现。其中类
的适配器采用的是(多重继承)关系,而对象适配器采用的是(包含)关系。
22.设计模式的基本要素有(模式名称),( 问题),( 解决方案),
( 效果)。
23.创立型模式的根本意图是要把( 复杂对象的创建)和(表示)的责
任进行分离,从而降低系统的(耦合性)。
24.工厂模式分为( 简单工厂),(工厂方法),(抽象工厂)三种
类型
25.门面模式是(迪米特法则)法则的典型运用