设计模式期末复习_第1页
设计模式期末复习_第2页
设计模式期末复习_第3页
设计模式期末复习_第4页
设计模式期末复习_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、设计模式期末复习题1、以下哪个模式是利用一个对象,快速地生成一批对象 :() A.抽象工厂(Abstract Factory)模式 B.组合(Composite)模式 C.原型(Prototype)模式D.桥接(Bridge)模式2、要针对接口编程,不要针对实现编程是()原则的一种表述。    A.里氏代换B. 依赖倒转C.接口隔离D.迪米特3、“不要和陌生人说话” 是( )原则的通俗表述    A.开闭   B.里氏代换  C.合成复用   D.迪米特4、关于继承表述错误的是:()A

2、.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。B.泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加属性和方法来进行实现的扩展。C.破坏了封装性,因为这会将父类的实现细节暴露给子类。D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类5、当想使用一个已经存在的类,但其接口不符合需求时,可以采用()设计模式将该类的接口转换成我们希望的接口A. 命令(Command) B. 适配器(Adapter) C.装饰(Decorator)D.桥接(Bridge)6、对于依赖倒转的表述错误的是()    A.依赖于抽象而不依赖于

3、具体,也就是针对接口编程。    B.依赖倒转的接口并非语法意义上的接口,而是一个类对其他对象进行调用时,所知道的方法集合。    C.从选项B的角度论述,一个对象可以有多个接口。    D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。    E.此题没有正确答案。7、Java的异常处理机制可理解为哪一种行为模式 。A.观察者(Observer)模式 B.迭代器(Iterator)模式 C.职责链(Chain of Res

4、ponsibility)模式D.策略(Strategy)模式8、( )不是桥接模式所适用的场景A. 一个可以跨平台并支持多种格式的文件编辑器B. 一个支持多数据源的报表生成工具,可以以不同图形方式显示报表信息C. 一个可动态选择排序算法的数据操作工具D. 一个可以支持多种编程语言的跨平台开发工具9、下图描述了一种设计模式,该模式不可以()A. 动态决定由一组对象中某个对象处理该请求B. 动态指定处理一个请求的对象集合,并高效率地处理一个请求C. 使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合D. 将对象连成一条链,并沿着该链传递请求10、在()时无须使用命令模式A. 实现撤消操作

5、和恢复操作 B. 将请求的发送者和接收者解耦C. 不改变聚合类的前提下定义作用于聚合中元素的新操作D. 在不同的时刻指定请求,并将请求排队11. 中介者模式中通过中介者来将同事类解耦,这是()的具体应用。A 迪米特法则B 接口隔离原则 C里氏代换原则 D 合成复用原则12、下面这句话隐含着()设计模式我和妹妹跟妈妈说:“妈妈,我和妹妹在院子里面玩,饭做好了叫我们一声。“A. Facade(外观) B. Chain of Responsibility(职责链) C. Observer(观察者) D. Iterator(迭代器)13、分析如下代码public class Test int beha

6、viour;/Getter and Setter.public void handleAll()if(behaviour = 0) /do somethingelse if(behaviour = 1) / do somethingelse if(behaviour = 2) / do somethingelse if(behaviour = 3) /do something. some more else if.为了提高代码的扩展性和健壮性,可以使用()设计模式来进行重构。A. Visitor(访问者)B. Facade(外观)C. Memento(备忘录)D. State(状态)14、以下

7、关于策略模式叙述错误的是()A. 策略模式是对算法的包装,是把算法的责任和算法本身分隔开,委派给不同的对象管理B. 在Context类中,维护了对各个ConcreteStrategy的引用实例,提供了一个接口供ConcreteStrategy存储数据C. 策略模式让算法独立于使用它的客户而变化D. 策略模式中,定义一系列算法,并将每一个算法封装起来,并让它们可以相互替换15、场景()不是状态模式的实例。A. 银行账户根据余额不同拥有不同的存取款操作B. 游戏软件中根据虚拟角色级别的不同拥有不同的权限C. 某软件在不同的操作系统中呈现不同的外观D. 会员系统中会员等级不同可以实现不同的行为、设计

8、模式具有的优点()。A适应需求变化 B.程序易于理解C减少开发过程中的代码开发工作量 D.简化软件系统的设计2. 下面属于结构模式的有()。A观察者模式(Observer) B.单例模式(Singleton)C.策略模式(Strategy) D外观模式(Façade)3. Adapter(适配器)模式的意图是( )。A. 希望简化现有系统的使用方法。你需要定义自己的借口。 B将一个无法控制的现有对象与一个特定借口相匹配。 C. 将一组实现部分从另一组使用它们的对象中分离出来。 D你需要为特定的客户(或情况)提供特定系列的对象。4. 按照四人组的说法,Bridge(桥接)模式的意图是(

9、 ) A. 将抽象部分与它的实现部分分离,使它们可以独立地变化 B. 将抽象部分与它的实现部分相分离,但它们不能独立地变化. C. 将抽象部分与它的实现部分相结合,但它们可以独立地变化. D. 将抽象部分与它的实现部分相结合,使它们相互依赖5. 以下叙述不对的是( )。A. 学习设计模式告诉我们要尽可能使用继承.B. 学习设计模式通常可以找到比仅采用面向对象方法更好的解决方案.C. 学习设计模式告诉我们要尽可能使用组合.D. 桥接模式适用于一个抽象部分拥有不同的实现部分的情形6. 下面的类图表示的是哪个设计模式?()。A建造者模式 B抽象工厂模式C 策略模式 D桥接模式7.常用的设计模式可分为

10、()。A创建型、结构型和行为型 B对象型、结构型和行为型过程型、创建型和结构型抽象型、接口型和实现型8. 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。这句话是对哪种模式的描述( )。A观察者模式(Observer) B桥接模式(Bridge)C适配器模式(Adapter) D策略模式(Strategy)9. Decorator(装饰)模式的意图是:( )。 A.定义一系列的算法,把它们一个个的封装起来,并且使它们可相互替换。 B.为一个对象动态连接附加的职责。 C.你希望只拥有一个对象,但不用全局对象来控制对象的实例化。 D.在对象之间定义一种一对多的依赖关系,这样当一个对象

11、的状态改变时,所有依赖于它的对象都将得到通知并自动更新。10. 模板方法的作用是( )。A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。B为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用。C保证一个类仅有一个实例,并提供一个访问他的全局访问点。D在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现11. 关于工厂方法,以下叙述不正确的是()。A Factory Method是一个用于帮助分配创建的责任的模式。B Factory Method模式和Abstract Factory模式总是配合使用。C Factory Metho

12、d适用于将对象实例化的规则推迟到某个派生类的情形。D Factory Method是属于创建型模式。12. Open-Close原则的含义是一个软件实体( )。A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对13. 一个树形文件系统体现了()模式A . 装饰 B. 组合 C. 桥接 D. 代理14. 以下关于迭代器模式的叙述错误的是()A. 迭代器模式提供一种方法来访问聚合对象,而无须暴露这个对象的内部表示B. 迭代器模式支持以不同的方式遍历一个聚合对象C. 迭代器模式定义了一个访问聚合元素的接口,并且可以跟踪当前遍历的元素,了解哪些元

13、素已经遍历过,而哪些没有D. 在抽象聚合类中定义了访问和遍历元素的方法并在具体聚合类中实现这些方法。15. 在()时可以使用单例模式A. 隔离菜单项对象的创建和使用 B. 防止一个资源管理器窗口被实例化多次C. 使用一个已有的查找算法而不想修改既有代码 D. 不能创建子类,需要扩展一个数据过滤类二、填空题:(本题共10小题,15个填空,每空2分,共30分)1. 适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是_关系,而对象适配器采用的是组合聚类关系。2. 在存在继承关系的情况下,方法向超类方向集中,而数据向_方向集中。3. 策略模式的意图是定义一系列的算法,把它们一个个

14、_起来, 并且使它们可相互替换。4. 面向对象的八条基本原则包括:开闭原则,里式代换原则,合成复用原则,迪米特法则以及_,_,_。5. MVC架构是一个复杂的架构,其实现也显得非常复杂。但是可以综合多种模式,使得每个中间过程变得简单。View层可以看作一棵树,可由_实现 View和Model之间的通信,可由_实现 Controller控制View,可用_实现 Model通常是一个调停者,可用_实现请从外观、单例、装饰、模板方法、访问者、组合、桥接、观察者、责任链、抽象工厂、原型、建造者、命令8 种模式中选择5种填入下列1-5的空缺中。6. _模式确保某一个类仅有一个实例,并自行实例化并向整个系

15、统提供这个实例。7. _模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面。8. _模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。9. _模式可以在网站开发中通过对大图片的控制提高浏览速度。10. _模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。二、填空题:(本题共9小题,15个填空,每空2分,共30分)请从装饰、模板方法、外观、组合、桥接、观察者、责任链、抽象工厂、原型、建造者、命令11 种模式中选择5种填入下列1-5的空缺中。1、 _模式可以在不改变一个对象本身的基础上给对象增加额外的新行为。2、_ 模式用原型实例指定创建对象的种类,并且通过拷贝这些原型实例创建新的对象。3、_模式将对象组合成树形结构以表示“部分-整体”的层次结构。使得用户对单个对象和组合对象的使用具有一致性。4、 _模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。5、_模式可以对发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求。6、常用的基本设计模式可以分为;创建型,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论