设计模式的题库

上传人:cn****1 文档编号:561258150 上传时间:2024-01-18 格式:DOC 页数:27 大小:316.01KB
返回 下载 相关 举报
设计模式的题库_第1页
第1页 / 共27页
设计模式的题库_第2页
第2页 / 共27页
设计模式的题库_第3页
第3页 / 共27页
设计模式的题库_第4页
第4页 / 共27页
设计模式的题库_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《设计模式的题库》由会员分享,可在线阅读,更多相关《设计模式的题库(27页珍藏版)》请在金锄头文库上搜索。

1、1. 设计模式的原理? (C)A. 面对实现编程B. 面向对象编程C. 面向接口编程D. 面向组合编程2. 以下对开-闭原则的一些描述错误的是?(A)A. 开-闭原则与对可变性的封装原则没有相似性.B. 找到一个系统的可变元素,将它封装起来,叫开-闭原则C. 对修改关闭: 是其原则之一D. 从抽象层导出一个或多个新的具体类可以改变系统的行为,是其原则之一3. 以下不属于创建型模式是? (A)A. PROXY(代理) B.BUILDER(生成器)C. PROTOTYPE(原型) D.SINGLETON(单件)4. 以下不属于结构型模式是? (D)A. COMPOSITE(组合) B. ADAPT

2、ER(适配器)C. FLYWEIGHT(享元) D. SINGLETON(单例)5. 以下不属于行为型模式是? (D )A. COMMAND(命令)B. STRATEGY(策略)C. MEMENTO(备忘录)D. BRIDGE(桥接)/*23模式意图*/6. 以下意图那个是用来描述ABSTRACT FACTORY(抽象工厂)?(A)A. 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。B. 定义一个用于创建对象的接口,让子类决定实例化哪一个类。C. 将一个类的接口转换成客户希望的另外一个接口。D. 表示一个作用于某对象结构中的各元素的操作。7. 以下意图那个是用来描述BUI

3、LDER(生成器)?(B)A. 定义一个用于创建对象的接口,让子类决定实例化哪一个类B. 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。C. 保证一个类仅有一个实例,并提供一个访问它的全局访问点。D. 运用共享技术有效地支持大量细粒度的对象。8. 以下意图那个是用来描述FACTORY METHOD(工厂方法)?(C)A. 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。B.表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。C.定义一个用于创建对象的接口,让子类决定实例化哪一个类。该模式使一个

4、类的实例化延迟到其子类。D.定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。9. 以下意图那个是用来描述PROTOTYPE(原型)?(D)A. 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。B.表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。C.定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。D.用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。10.以下意图那个是用来描述SINGL

5、ETON(单件)?(B)A.将一个类的接口转换成客户希望的另外一个接口。该模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作B.保证一个类仅有一个实例,并提供一个访问它的全局访问点。C.定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。D.用一个中介对象来封装一系列的对象交互。11. 以下意图那个是用来描述ADAPTER(适配器)?(A)A.将一个类的接口转换成客户希望的另外一个接口。本模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。B.定义一个用于创建对象的接口,让子类决定实例化哪一个类C.表示一个作用于某对象结

6、构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。D.将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。12. 以下意图那个是用来描述BRIDGE(桥接)?(B)A.提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。B.将抽象部分与它的实现部分分离,使它们都可以独立地变化。C.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。D.动态地给一个对象添加一些额外的职责。13. 以下意图那个是用来描述COMPOSITE(组合)?(C)A. 为其他对象提供一种代理

7、以控制对这个对象的访问。B. 运用共享技术有效地支持大量细粒度的对象。C.将对象组合成树形结构以表示“部分-整体”的层次结构。C. 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。14. 以下意图那个是用来描述DECORATOR(装饰)?(D)A. 运用共享技术有效地支持大量细粒度的对象。B. 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。C. 将抽象部分与它的实现部分分离,使它们都可以独立地变化。D. 动态地给一个对象添加一些额外的职责。15. 以下意图那个是用来描述 FACADE(外观)?(A)A.为子系统中的一组接口提供一个一致的界面,本模式定

8、义了一个高层接口,这个接口使得这一子系统更加容易使用。B.定义一个用于创建对象的接口,让子类决定实例化哪一个类。C.保证一个类仅有一个实例,并提供一个访问它的全局访问点。D.在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。16. 以下意图那个是用来描述FLYWEIGHT(享元)?(B)A.将抽象部分与它的实现部分分离,使它们都可以独立地变化。B.运用共享技术有效地支持大量细粒度的对象。C.动态地给一个对象添加一些额外的职责。D.用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。17. 以下意图那个是用来描述 P

9、ROXY(代理)?(C)A. 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。B. 运用共享技术有效地支持大量细粒度的对象。C.为其他对象提供一种代理以控制对这个对象的访问。D.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。18. 以下意图那个是用来描述CHAIN OF RESPONSIBILITY(职责链)?(D)A.为子系统中的一组接口提供一个一致的界面,本模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。B.提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。C.在不破坏封装性的前提下,捕获一个对象的内部状态,

10、并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。D.使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。19. 以下意图那个是用来描述 COMMAND(命令)?(A)A.将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作B.定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。C.为其他对象提供一种代理以控制对这个对象的访问。D.保证一个类仅有一个实例,并提供一个访问它的全局访问点。20. 以下意图那个是用来描述 INTERPRETER(解

11、释器)?(B)A. 将抽象部分与它的实现部分分离,使它们都可以独立地变化。B.给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。C.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。D.为其他对象提供一种代理以控制对这个对象的访问。21. 以下意图那个是用来描述 ITERATOR(迭代器)?(C)A.使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。B.用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。C.提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。D.运用

12、共享技术有效地支持大量细粒度的对象。22. 以下意图那个是用来描述 MEDIATOR(中介者)?(D)A.提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。B.将抽象部分与它的实现部分分离,使它们都可以独立地变化。C.定义一个用于创建对象的接口,让子类决定实例化哪一个类。D.用一个中介对象来封装一系列的对象交互。23. 以下意图那个是用来描述 MEMENTO(备忘录)?(A)A.在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。B.保证一个类仅有一个实例,并提供一个访问它的全局访问点。C.将一个请求封

13、装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作D.提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。24. 以下意图那个是用来描述 OBSERVER(观察者)?(B)A. 将抽象部分与它的实现部分分离,使它们都可以独立地变化。B.定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。C.用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。D.使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。25. 以下意图那个是用来描述 STAT

14、E(状态)?(C)A.使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。B.提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。C.允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。D.在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。26. 以下意图那个是用来描述 STRATEGY(策略)?(D)A. 将抽象部分与它的实现部分分离,使它们都可以独立地变化。B.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。C.将抽象部分与它的实现部

15、分分离,使它们都可以独立地变化。D.定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换27. 以下意图那个是用来描述 TEMPLATE METHOD(模板方法)?(A)A.定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。B.为其他对象提供一种代理以控制对这个对象的访问。C.将抽象部分与它的实现部分分离,使它们都可以独立地变化。D.使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。28. 以下意图那个是用来描述 VISITOR(访问者)?(B)A. 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。B.表示一个作用于某对象结构中的各元素的操作。C.在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号