设计模式复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
填空题:
1. 请从外观、组合、工厂方法、模板方法、观察者、单件、抽象工厂、命令、迭代器、代理、适配器模式中选择7种填入下列的空缺中。P610
1)工厂方法模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。
2)抽象工厂模式提供一系列相关或相互依赖对象的接口而无需指定它们具体的类。
3)单件模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。
4)组合模式将对象组合成树形结构以表示部分-整体”的层次结构。使得用户对单个对象和组合对象的
使用具有一致性。
5)外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提
供一个一致的界面,简化了一群类的接口。
6)观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象
都得到通知并被自动更新,也就是让对象能在状态改变时被通知。
7)模板模MVC模型式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
8)迭代器模式在对象的集合之中游走,而不暴露集合的实现。
9)代理模式包装对象,以控制对比对象的访问。
10)适配器模式封装对象,并提供不同的接口。
2. 工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型。
3. 适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是(继承)关系,而对
象适配器采用的是(组合聚合)关系。
4. 设计模式的基本要素有(名字),(意图),(问题),(解决方案),(参与者与协作者),
(实现),(一般性结构)。
5. MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式
6. 面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(依赖倒转),(迪米特法则)(接口隔离)。
7. 当我们想用不同的请求对客户进行参数化时,可以使用(命
8 .当我们想封装不同算法并使它们可相互替换时,可以使用(策略)模式。
9.每一个设计模式都集中于一个特定的(设计问题),描述了(相互通信的对象)或者(类)以及(解决方案)和(解决效果)。
10 .设计模式中应优先使用(对象组合)而不是(类继承)。
11. 面向对象(00 )的基础包括(抽象)(封装)(多态)(继承)。
12. (状态模式)允许一个对象基于内部状态而拥有不同的行为。
13. 模式不是代码,而是(针对设计问题)的通用解决方案。
14. 观察者模式定义了对象之间(一对多)的关系。
15. 观察者和可观察者之间用(松耦合方式)结合。
16 .设计模式的两大主题是:(对象组合)和(类继承)的讨论。
17. (组合)和(委托)可用于运行时动态地加上新的行为。
18. 工厂方法使用(继承)把对象的创建委托给子类,子类实现了工厂方法来创建对象。
19. 抽象工厂方法使用(对象组合)使对象的创建被实现在工厂接口所暴露岀来的方法中。
20. 在Java中实现单件模式,需要私有的(构造器)(一个静态方法)和(一个静态变量)
21 .命令模式将(发岀请求)的对象和(执行请求)的对象解耦。
22. 当需要一个现有的类而其接口不符合需求时,可使用(适配器)模式。
23. 适配器模式的两种模式是(对象适配器)和(类适配器)。
24. (模板方法)定义了算法的步骤,把这些步骤的实现延迟到了子类。
25. (代理模式)为另一个对象提供代表,以便控制客户对对象的访问。
26. 装饰着模式为对象加上(行为)而代理模式则是(控制访问)。
27. 开闭原则:(扩展开放)(修改关闭)。
28. 代理模式分为哪4种:(虚拟代理)(远程代理)(安全代理)(聪明引用)。
选择题
1 .设计模式具有的优点。(A)
A. 适应需求变化
B.程序易于理解
C.减少开发过程中的代码开发工作量
D.简化软件系统的设计
2. 若系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB等)
的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,
再打开数据库,最后对数据进行查询,(D )设计模式可抽象岀相同的数据库访问过程;
A. 外观
B.装饰
C.单件
D.模板方法
3. 系统中的文本显示类 (TextView )和图片显示类 (PictureView )都继承了组件类 (Component ),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,
(B )设计模式可以实现该目的。
A. 外观
B.装饰
C.单件
D.模板方法
4. 下面的类图表示的是哪个模式?( A )
A、抽象工厂模式(Abstract Factory)
B、工厂方法模式(Factory Method)
C、命令模式(Command)
D、责任链模式(Chain of Responsibility)
5. 下面的类图表示的是哪个设计模式?( B )
A、代理模式(Proxy)
B、装饰模式(Decorator )
C、桥接模式(Bridge )
D、观察者模式 (Observer )
6. 下面的类图表示的是哪个模式?( B )
A、代理模式(Proxy )
B、外观模式(Facade)
C、适配器模式(Adapter )
D、桥接模式(Bridge )
7. 下面的类图表明了哪个模式?( D )
A、责任链模式(Chain of Responsibility) B 、命令模式(Command)