2010级《JAVA设计模式》期末试题 (模拟考卷)
一、选择题(15题×2分=30分)
1、设计模式一般用来解决什么样的问题________
A.同一问题的不同表相            B不同问题的同一表相
C.不同问题的不同表相            D.以上都不是
2、设计模式的两大主题是________
A.系统的维护与开发            B 对象组合与类的继承
C.系统架构与系统开发            D.系统复用与系统扩展
3、下列不属于设计模式的要素的是_________
A.模式名称            B 问题        C.因素            D.环境
4、Open-Close原则的含义是一个软件实体_______
A.应当对扩展开放,对修改关闭
B.应当对修改开放,对扩展关闭
C.应当对继承开放,对修改关闭
D.以上都不对
5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是__________原则的表述
A.开-闭原则                B.接口隔离原则
C.里氏代换原则            D.依赖倒原则
6、“不要和陌生人说话”是_________的通俗表述
A.接口隔离原则            B.里氏代换原则
C.依赖倒转原则            D.迪米特法则
7、以下关于创建型模式说法正确的是___________
A创建型模式关注的是对象的创建
B创建型模式关注的是功能的实现
C创建型模式关注的是组织类和对象的常用方法
D创建型模式关注的是对象间的协作
8、下列模式中,属于行为模式的是_______
A.工厂模式        B观察者    C适配器     D以上都是
9、不属于创建型模式的是________
A.工厂模式        B策略模式    C建造者模式     D原型模式
10、下面的类图表示的是哪个模式?________
A.抽象工厂模式            B.工厂方法模式
C.命令模式                    D.责任链模式
11、工厂方法模式的核心角是________
A.抽象产品                        B.具体产品
C.抽象工厂                        D.具体工厂
12、若系统中的某子模块需要为其它模块提供访问不同数据库系统(OracleSQL ServerDB2等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询, ________设计模式可抽
象出相同的数据库访问过程。
A.外观            B.装饰            C.单例        D.模板方法
13、系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑边框、或者既有滚动条又有黑边框的文本显示控件和图片显示控件,但希望最多只增加三个类,_______设计模式可以实现该目的。
A.外观        B.装饰            C.单件        D.模板方法
14、关于备忘录模式,说法错误的是_______
A.备忘录模式又叫快照模式或Token模式
B.包括发起人、备忘录、责任人3个角
C.可以保存对象的状态,但不能恢复数据
D.在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。
15、Java的异常处理机制可理解为哪一种行为模式。
A观察者(Observer)模式
B迭代器(Iterator)模式
C职责链(Chain of Responsibility)模式
D策略(Strategy)模式
二、填空题(15空×2分=30分)
实例名词解释
1、工厂模式分为___________,___________,___________三种类型
2、在设计模式中,对迪米特法则进行应用的设计模式有_______和_______两个模式。
3、___________模式用原型实例指定创建对象的种类,并且通过拷贝这些原型实例创建新的对象。
4、___________模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实
例。
5、_______模式将对象组合成树形结构以表示“部分-整体”的层次结构。使得用户对单个对象和组合对象的使用具有一致性。
6、________模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面。
7、_________模式运用共享技术有效地支持大量细粒度的对象。
8、_________模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。
9、命令链模式是__________和___________的混合使用
10、规格模式是___________和___________的扩展。
三、名词解释(4题×5分=20分)
1、单一职责原则。
2、接口隔离原则。
3、建造者模式。
4、解释器模式。
四、综合问答(2题×10分=20分)
1. Java是一个跨平台的软件语言。为了实现跨平台,你认为采用哪种软件模式来实现跨平台部分更合理?说明你的理由。
2. 画出组合模式(Composite)的结构图。举例说明一个可以应用合成模式的软件设计实例,说明其中各角的作用。