最新设计模式期末复习.docx

上传人:b****5 文档编号:28416632 上传时间:2023-07-13 格式:DOCX 页数:11 大小:61.03KB
下载 相关 举报
最新设计模式期末复习.docx_第1页
第1页 / 共11页
最新设计模式期末复习.docx_第2页
第2页 / 共11页
最新设计模式期末复习.docx_第3页
第3页 / 共11页
最新设计模式期末复习.docx_第4页
第4页 / 共11页
最新设计模式期末复习.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

最新设计模式期末复习.docx

《最新设计模式期末复习.docx》由会员分享,可在线阅读,更多相关《最新设计模式期末复习.docx(11页珍藏版)》请在冰豆网上搜索。

最新设计模式期末复习.docx

最新设计模式期末复习

 

2013年设计模式期末复习

设计模式期末复习题

1、以下哪个模式是利用一个对象,快速地生成一批对象:

()

A.抽象工厂(AbstractFactory)模式

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.职责链(ChainofResponsibility)模式

D.策略(Strategy)模式

8、()不是桥接模式所适用的场景

A.一个可以跨平台并支持多种格式的文件编辑器

B.一个支持多数据源的报表生成工具,可以以不同图形方式显示报表信息

C.一个可动态选择排序算法的数据操作工具

D.一个可以支持多种编程语言的跨平台开发工具

9、下图描述了一种设计模式,该模式不可以()

A.动态决定由一组对象中某个对象处理该请求

B.动态指定处理一个请求的对象集合,并高效率地处理一个请求

C.使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合

D.将对象连成一条链,并沿着该链传递请求

10、在()时无须使用命令模式

A.实现撤消操作和恢复操作

B.将请求的发送者和接收者解耦

C.不改变聚合类的前提下定义作用于聚合中元素的新操作

D.在不同的时刻指定请求,并将请求排队

11.中介者模式中通过中介者来将同事类解耦,这是()的具体应用。

A迪米特法则B接口隔离原则C里氏代换原则D合成复用原则

12、下面这句话隐含着()设计模式

我和妹妹跟妈妈说:

“妈妈,我和妹妹在院子里面玩,饭做好了叫我们一声。

A.Facade(外观)B.ChainofResponsibility(职责链)C.Observer(观察者)D.Iterator(迭代器)

13、分析如下代码

publicclassTest{

intbehaviour;

//GetterandSetter

.....

publicvoidhandleAll()

{

if(behaviour==0){

//dosomething

}elseif(behaviour==1){

//dosomething

}elseif(behaviour==2){

//dosomething

}elseif(behaviour==3){

//dosomething

}

...somemoreelseif...

}

}

为了提高代码的扩展性和健壮性,可以使用()设计模式来进行重构。

A.Visitor(访问者)B.Facade(外观)C.Memento(备忘录)D.State(状态)

14、以下关于策略模式叙述错误的是()

A.策略模式是对算法的包装,是把算法的责任和算法本身分隔开,委派给不同的对象管理

B.在Context类中,维护了对各个ConcreteStrategy的引用实例,提供了一个接口供ConcreteStrategy存储数据

C.策略模式让算法独立于使用它的客户而变化

D.策略模式中,定义一系列算法,并将每一个算法封装起来,并让它们可以相互替换

15、场景()不是状态模式的实例。

A.银行账户根据余额不同拥有不同的存取款操作

B.游戏软件中根据虚拟角色级别的不同拥有不同的权限

C.某软件在不同的操作系统中呈现不同的外观

D.会员系统中会员等级不同可以实现不同的行为

、设计模式具有的优点()。

A.适应需求变化B.程序易于理解

C.减少开发过程中的代码开发工作量D.简化软件系统的设计

2.下面属于结构模式的有()。

A观察者模式(Observer)B.单例模式(Singleton)

C.策略模式(Strategy)D外观模式(Façade)

3.Adapter(适配器)模式的意图是()。

A.希望简化现有系统的使用方法。

你需要定义自己的借口。

B.将一个无法控制的现有对象与一个特定借口相匹配。

C.将一组实现部分从另一组使用它们的对象中分离出来。

D.你需要为特定的客户(或情况)提供特定系列的对象。

4.按照四人组的说法,Bridge(桥接)模式的意图是()

A.将抽象部分与它的实现部分分离,使它们可以独立地变化

B.将抽象部分与它的实现部分相分离,但它们不能独立地变化.

C.将抽象部分与它的实现部分相结合,但它们可以独立地变化.

D.将抽象部分与它的实现部分相结合,使它们相互依赖

5.以下叙述不对的是()。

A.学习设计模式告诉我们要尽可能使用继承.

B.学习设计模式通常可以找到比仅采用面向对象方法更好的解决方案.

C.学习设计模式告诉我们要尽可能使用组合.

D.桥接模式适用于一个抽象部分拥有不同的实现部分的情形

6.下面的类图表示的是哪个设计模式?

()。

A建造者模式B抽象工厂模式C策略模式D桥接模式

7.常用的设计模式可分为()。

A创建型、结构型和行为型B对象型、结构型和行为型

C过程型、创建型和结构型 D抽象型、接口型和实现型

8.定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。

这句话是对哪种

模式的描述()。

A观察者模式(Observer)B桥接模式(Bridge)

C适配器模式(Adapter)D策略模式(Strategy)

9.Decorator(装饰)模式的意图是:

()。

A.定义一系列的算法,把它们一个个的封装起来,并且使它们可相互替换。

B.为一个对象动态连接附加的职责。

C.你希望只拥有一个对象,但不用全局对象来控制对象的实例化。

D.在对象之间定义一种一对多的依赖关系,这样当一个对象的状态改变时,所有依

赖于它的对象都将得到通知并自动更新。

10.模板方法的作用是()。

A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。

B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易

使用。

C.保证一个类仅有一个实例,并提供一个访问他的全局访问点。

D.在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现

11.关于工厂方法,以下叙述不正确的是()。

AFactoryMethod是一个用于帮助分配创建的责任的模式。

BFactoryMethod模式和AbstractFactory模式总是配合使用。

CFactoryMethod适用于将对象实例化的规则推迟到某个派生类的情形。

DFactoryMethod是属于创建型模式。

12.Open-Close原则的含义是一个软件实体()。

A.应当对扩展开放,对修改关闭.

B.应当对修改开放,对扩展关闭

C.应当对继承开放,对修改关闭

D.以上都不对

13.一个树形文件系统体现了()模式

A.装饰B.组合C.桥接D.代理

14.以下关于迭代器模式的叙述错误的是()

A.迭代器模式提供一种方法来访问聚合对象,而无须暴露这个对象的内部表示

B.迭代器模式支持以不同的方式遍历一个聚合对象

C.迭代器模式定义了一个访问聚合元素的接口,并且可以跟踪当前遍历的元素,了解哪些元素已经遍历过,而哪些没有

D.在抽象聚合类中定义了访问和遍历元素的方法并在具体聚合类中实现这些方法。

15.在()时可以使用单例模式

A.隔离菜单项对象的创建和使用B.防止一个资源管理器窗口被实例化多次

C.使用一个已有的查找算法而不想修改既有代码D.不能创建子类,需要扩展一个数据过滤类

二、填空题:

(本题共10小题,15个填空,每空2分,共30分)

1.适配器模式,分为类的适配器和对象的适配器两种实现。

其中类的适配器采用的是___关系,而对象适配器采用的是组合聚类关系。

2.在存在继承关系的情况下,方法向超类方向集中,而数据向___方向集中。

3.策略模式的意图是定义一系列的算法,把它们一个个___起来,并且使它们可相互替换。

4.面向对象的八条基本原则包括:

开闭原则,里式代换原则,合成复用原则,迪米特法则以及___,____,____。

5.MVC架构是一个复杂的架构,其实现也显得非常复杂。

但是可以综合多种模式,使得每个中间过程变得简单。

View层可以看作一棵树,可由___实现

View和Model之间的通信,可由___实现

Controller控制View,可用___实现

Model通常是一个调停者,可用___实现

请从外观、单例、装饰、模板方法、访问者、组合、桥接、观察者、责任链、抽象工厂、原型、建造者、命令8种模式中选择5种填入下列1-5的空缺中。

6.___模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。

7.___模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面。

8.___模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。

9.___模式可以在网站开发中通过对大图片的控制提高浏览速度。

10.___模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。

二、填空题:

(本题共9小题,15个填空,每空2分,共30分)

请从装饰、模板方法、外观、组合、桥接、观察者、责任链、抽象工厂、原型、建造者、命令11种模式中选择5种填入下列1-5的空缺中。

1、___模式可以在不改变一个对象本身的基础上给对象增加额外的新行为。

2、___模式用原型实例指定创建对象的种类,并且通过拷贝这些原型实例创建新的对象。

3、___模式将对象组合成树形结构以表示“部分-整体”的层次结构。

使得用户对单个对象和组合对象的使用具有一致性。

4、___模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

5、___模式可以对发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求。

6、常用的基本设计模式可以分为;创建型,___,___。

7、面向对象的八条基本原则包括:

开闭原则,里式代换原则,合成复用原则,迪米特法则以及___,____,____。

8、MVC架构是一个复杂的架构,其实现也显得非常复杂。

但是可以综合多种模式,使得每个中间过程变得简单。

View层可以看作一棵树,可由___实现

View和Model之间的通信,可由___实现

Controller控制View,可用___实现

Model通常是一个调停者,可用___实现

9、某系统中用户可以自行选择某种排序算法(如选择算法、冒泡排序、插入排序)来实现排序操作,该系统的设计可以使用___设计模式。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1