《Java 设计模式》期末考试试卷(A 卷)第1页共8页
2013-2014学年第二学期韶关学院计算机科学学院《Java 设计模式》期末考试A 卷(答案)年级:11专业:计算机科学技术班级:1学号:姓名:题号一二三四五总分签名得分注:1、共120分钟,总分100分;2、此试卷适用班级:计算机本科专业。一得分阅卷教师一、单选择题:(30分,每小题2分)1.关于模式适用性,在以下情况不适合使用CHAIN OF RESPONSIBILITY(职责链)模式?(B )A.有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定。B.在需要用比较通用和复杂的对象指针代替简单的指针的时候。C.你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。D.可处理一个请求的对象集合应被动态指定。2.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(B )模式。A.结构型  B.创建型C.行为型  D.以上都可以3.以下意图那个是用来描述ADAPTER(适配器)?(A )A.将一个类的接口转换成客户希望的另外一个接口,本模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。B.定义一个用于创建对象的接口,让子类决定实例化哪一个类。C.表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。D.将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。
线
4.以下意图那个是用来描述COMMAND(命令)?(A)
A.将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;
对请求排队或记录请求日志,以及支持可撤消的操作。
B.定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换,本模
式使得算法可独立于使用它的客户而变化。
C.为其他对象提供一种代理以控制对这个对象的访问。
D.保证一个类仅有一个实例,并提供一个访问它的全局访问点。
5.以下关于创建型模式说法正确的是(A)
A.创建型模式关注的是对象的创建
B.创建型模式关注的是功能的实现
C.创建型模式关注的是组织类和对象的常用方法
D.创建型模式关注的是对象间的协作
6.以下意图那个是用来描述DECORATOR(装饰)?(D)
A.运用共享技术有效地支持大量细粒度的对象。
B.用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
C.将抽象部分与它的实现部分分离,使它们都可以独立地变化。
D.动态地给一个对象添加一些额外的职责。
7.要依赖于抽象,不要依赖于具体,即针对接口编程,不要针对实现编程,是(D)的表述。
A.开-闭原则
B.接口隔离原则java接口可以创建对象吗
C.里氏代换原则
D.依赖倒转原则
8.以下意图那个是用来描述FACADE(外观)?(A)
A.为子系统中的一组接口提供一个一致的界面,本模式定义了一个高层接口,
这个接口使得这一子系统更加容易使用。
B.定义一个用于创建对象的接口,让子类决定实例化哪一个类。
C.保证一个类仅有一个实例,并提供一个访问它的全局访问点。
D.在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保
存这个状态。这样以后就可将该对象恢复到原先保存的状态。
9.“不要和陌生人说话”是(D)原则的通俗表述。
A.接口隔离
B.里氏代换
C.依赖倒转
D.迪米特
《Java设计模式》期末考试试卷(A卷)第2页共8页
《Java 设计模式》期末考试试卷(A 卷)第3页共8页
10.Open-Close 原则的含义是一个软件实体(A )A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对11.以下意图那个是用来描述PROXY(代理)?(C )A.用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。B.运用共享技术有效地支持大量细粒度的对象。C.为其他对象提供一种代理以控制对这个对象的访问。D.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。12.以下不属于结构型模式是?(D )A.COMPOSITE(组合)  B.ADAPTER(适配器)C.FLYWEIGHT(享元)  D.SINGLETON(单例)13.以下意图那个是用来描述FLYWEIGHT(享元)?(B )A.将抽象部分与它的实现部分分离,使它们都可以独立地变化。B.运用共享技术有效地支持大量细粒度的对象。C.动态地给一个对象添加一些额外的职责。D.用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。14.以下对"开-闭"原则的一些描述错误的是?(A )A."开-闭"原则与"对可变性的封装原则"没有相似性B.到一个系统的可变元素,将它封装起来,叫"开-闭"原则C.对修改关闭:是其原则之一D.从抽象
层导出一个或多个新的具体类可以改变系统的行为,是其原则之一15.常用的基本设计模式可分为(A )A.创建型、结构型和行为型  B.对象型、结构型和行为型C.过程型、结构型和行为型  D.抽象型、接口型和实现型
线
得分阅卷教师
二、多选择题:(20分,每小题2分)
1.当应用Factory Method模式时要考虑下面哪些问题?(A,B,C,D)
A.主要有两种不同的情况
B.参数化工厂方法
C.特定语言的变化和问题
D.使用模板以避免创建子类
2.以下属于行为对象模式的是(B,C,D)
A.装饰(Decorator)模式
B.迭代器(Iterator)模式
C.命令(Command)模式
D.中介者(Mediator)模式
3.以下意图那些是用来描述MEDIATOR(中介者)?(D)
A.提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的
内部表示。
B.将抽象部分与它的实现部分分离,使它们都可以独立地变化。
C.定义一个用于创建对象的接口,让子类决定实例化哪一个类。
D.用一个中介对象来封装一系列的对象交互。
4.在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在(A,D)
A.适配器(Adapte)模式  B.合成(Composite)模式
C.原型(Prototype)模式  D.桥接(Bridge)模式
5.中介者模式有以下那些优点?(A,B,D)
A.简化了对象之间的交互
B.简化了同事类的设计和实现
C.封装了转换规则
D.减少了子类生成
6.以下属于Singleton(单例)模式的优点是?(A,B,C,D)
A.对唯一实例的受控访问
B.允许对操作和表示的精化
C.允许可变数目的实例
D.比类操作更灵活
7.面向对象系统中功能复用的最常用技术是(A,B)。
A.类继承  B.对象组合
C.使用抽象类  D.使用实现类
《Java设计模式》期末考试试卷(A卷)第4页共8页
《Java 设计模式》期末考试试卷(A 卷)第5页共8页8.Decorator(装饰)模式主要两个优点有以下那些?(A,B)A.比静态继承更灵活B.避免在层次结构高层的类有太多的特征C.有许多小对象,很容易对它们进行定制,但是很难学习这些系统,排错也很困难。D.Decorator 与它的Component 不一样,Decorator 是一个透明的包装。9.结构型模式中最体现扩展性的几种模式是(B,C )A.适配器(
Adapte)模式  B.合成(Composite)模式C.装饰(Decorator)模式  D.桥接(Bridge)模式10.以下意图那些是用来描述ITERATOR(迭代器)?(C )A.使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。B.用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。C.提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。D.运用共享技术有效地支持大量细粒度的对象。三得分阅卷教师三、填空题:(10分,每空1分)1.(依赖倒转)原则要求抽象不应该依赖于细节,细节应当依赖于抽象。2.主要用于描述对类和对象怎样交互和怎样分配职责的模式是(行为型模式)。3.MVC 模型的基本工作原理是基于(观察者)模式,实现是属于(命令)模式。4.组合模式属于(结构型)模式、原型模式属于(创建型)模式。5.创立型模式的根本意图是要把(对象的创建)和(使用)的责任进行分离,从而降低系统的(耦合度)。5.(简单工厂)模式可以根据参数的不同返回不同的实例。四得分阅卷教师四、编程题:(15分)
线
认真分析以下类图:
要求:1)说明选择了什么设计模式?//完成该步得5分2)写出其程序代码。//完成该步得10分
解:1)本题使用了迭代器模式
2)其参考程序代码如下所示:
interface Aggregate{Iterator createIterator();}
interface Iterator
{
void first();
void next();
boolean hasNext();
Object currentItem();
}
class ConcreteAggregate implements Aggregate
{
private Object[]obj={"筷","杯","锅”,"碗","瓢","盆"};
《Java设计模式》期末考试试卷(A卷)第6页共8页

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。