设计模式期末复习题
1、以下哪个模式是利用一个对象,快速地生成一批对象 :()
A.抽象工厂(Abstract Factory)模式 B.组合(Composite)模式 C.原型(Prototype)模式 D.桥接(Bridge)模式
2、要针对接口编程,不要针对实现编程是()原则的一种表述。 A.里氏代换B. 依赖倒转C.接口隔离D.迪米特
3、“不要和陌生人说话” 是( )原则的通俗表述 A.开闭 B.里氏代换 C.合成复用 D.迪米特
4、关于继承表述错误的是:()
A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。 B.泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加属性和方法来进行实现的扩展。
C.破坏了封装性,因为这会将父类的实现细节暴露给子类。 D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类
5、当想使用一个已经存在的类,但其接口不符合需求时,可以采用()设计模式将该类的接口转换成我们希望的接口
A. 命令(Command) B. 适配器(Adapter) C.装饰(Decorator)D.桥接(Bridge) 6、对于依赖倒转的表述错误的是()
A.依赖于抽象而不依赖于具体,也就是针对接口编程。
B.依赖倒转的接口并非语法意义上的接口,而是一个类对其他对象进行调用时,所知道的方法集合。
C.从选项B的角度论述,一个对象可以有多个接口。
D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。 E.此题没有正确答案。
7、Java的异常处理机制可理解为哪一种行为模式 。 A.观察者(Observer)模式 B.迭代器(Iterator)模式
C.职责链(Chain of Responsibility)模式 D.策略(Strategy)模式
8、( )不是桥接模式所适用的场景
A. 一个可以跨平台并支持多种格式的文件编辑器
B. 一个支持多数据源的报表生成工具,可以以不同图形方式显示报表信息 C. 一个可动态选择排序算法的数据操作工具 D. 一个可以支持多种编程语言的跨平台开发工具
9、下图描述了一种设计模式,该模式不可以() A. 动态决定由一组对象中某个对象处理该请求
B. 动态指定处理一个请求的对象集合,并高效率地处理一个请求 C. 使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合 D. 将对象连成一条链,并沿着该链传递请求
1ClientHandler+handleRequest()-successor1ConcreateHandlerA+handlerRequest()ConcreateHandlerB+handleRequest()
10、在()时无须使用命令模式 A. 实现撤消操作和恢复操作 B. 将请求的发送者和接收者解耦
C. 不改变聚合类的前提下定义作用于聚合中元素的新操作 D. 在不同的时刻指定请求,并将请求排队
11. 中介者模式中通过中介者来将同事类解耦,这是()的具体应用。 A 迪米特法则B 接口隔离原则 C里氏代换原则 D 合成复用原则
12、下面这句话隐含着()设计模式
我和妹妹跟妈妈说:“妈妈,我和妹妹在院子里面玩,饭做好了叫我们一声。“
A. Facade(外观) B. Chain of Responsibility(职责链) C. Observer(观察者) D. Iterator(迭代器)
13、分析如下代码 public class Test { int behaviour; //Getter and Setter .....
public void handleAll() { }
if(behaviour == 0) {
//do something
}else if(behaviour == 1) {
// do something
}else if(behaviour == 2) {
// do something
}else if(behaviour == 3) { }
... some more else if...
//do something
相关推荐: