设计模式复习题

合集下载

设计模式期末考试题及答案

设计模式期末考试题及答案

设计模式期末考试题及答案# 设计模式期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个不是设计模式的分类?A. 创建型模式B. 结构型模式C. 行为型模式D. 功能型模式答案:D2. 单例模式属于哪种类型的设计模式?A. 创建型模式B. 结构型模式C. 行为型模式D. 并发型模式答案:A3. 装饰者模式主要用于解决什么问题?A. 对类的功能进行扩展B. 将对象组合成树形结构C. 将一个类的对象包装成另一个新类的对象D. 将类接口的实现部分委托给其他对象答案:A4. 观察者模式中,当被观察对象状态发生变化时,它将通知所有的什么?A. 观察者B. 参与者C. 订阅者D. 监听者答案:A5. 策略模式的意图是?A. 定义一系列的算法,把它们一个个封装起来,并使它们可互换B. 确保一个对象的引用在多个线程间是安全的C. 允许用户对某个对象的内部状态进行访问,而不允许修改D. 允许多个客户端通过一个共同的接口与一个对象交互,而这个对象却能在运行时切换其行为答案:A...(此处省略其他选择题)二、简答题(每题10分,共30分)1. 解释什么是工厂方法模式,并给出一个实际应用的例子。

答案:工厂方法模式是一种创建型设计模式,它定义了一个创建对象的接口,但让子类决定实例化哪一个类。

工厂方法让类的实例化推迟到子类中进行。

例如,在图形界面编程中,一个工厂类可以负责创建不同类型的按钮,如按钮工厂方法可以返回一个“圆形按钮”或“方形按钮”的实例。

2. 描述适配器模式的工作原理,并解释它在软件开发中的应用。

答案:适配器模式是一种结构型模式,它允许不兼容的接口之间进行通信。

它通过一个适配器类将一个类的接口转换成客户端期望的另一个接口。

在软件开发中,适配器模式常用于实现第三方库或遗留系统的接口,使得它们能够与现有的系统兼容。

3. 解释观察者模式的工作原理,并举例说明其在实际开发中的应用。

答案:观察者模式是一种行为型模式,它定义了对象间的一种一对多的依赖关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。

设计模式题库

设计模式题库

1.1(D)以用户的观点表示系统的目标,它是所有视图的核心,该视图描述系统的需求。

A 结构视图B 行为视图C 实现视图D 用户视图E 环境视图F 物理视图G逻辑视图1.2类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同(ABC)的对象集合的总称。

A 属性B 操作C 关系D 约束E 继承F 多态G 封装2.1面向对象设计原则首先都是(B)的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。

A 重载B 复用C 面向对象D 封装E 继承F 多态G抽象2.2以下说法错误的有(BDH)A对于面向对象的软件系统设计来说,在支持可维护性的同时,需要提高系统的可复用性。

B迪米特法则要求一个软件实体应当尽可能多的与其他实体发生相互作用。

C单一职责原则要求在软件系统中,一个类只负责一个功能领域中的相应职责。

D开闭原则要求一个软件实体应当对扩展开放,对修改关闭,但是为了增强系统功能,可以随便的修改源代码。

E里氏代换原则可以通俗表述为在软件中如果能够使用基类对象,那么一定能够使用其子类对象。

F依赖倒转原则要求抽象不应该依赖于细节,细节应该依赖于抽象;要针对接口编程,不要针对实现编程。

G接口隔离原则要求客户端不应该依赖那些它不需要的接口,即将一些大的接口细化成一些小的接口供客户端使用。

H合成复用原则要求复用时尽量使用继承,而不使用对象组合。

3.1 结构型模式分为类模式和对象模式,以下可以是类模式的是(A)A 适配器模式B 桥接模式C 组合模式D 装饰模式E 外观模式F 享元模式G 代理模式3.2设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面(ABDE)A 模式名称B 问题C 目的D 解决方案E 效果F 实例代码G 相关设计模式4.1 以下关于简单工厂模式叙述错误的是(A)A 它属于GoF23种设计模式B 它是最简单的设计模式之一C 它是学习其他创建型模式的基础D 它只需要记住一个简单的参数即可获得所需对象的实例E 它类中的方法通常为静态方法F 它返回的类都有一个公共的父类和公共的方法4.2 简单工厂模式包含三个角色是(ABC)A 工厂角色B 抽象产品口C 具体产品角色D 抽象接口角色E 生产者角色F 用户角色G 使用者角色5.1 Java中的(A)是指在程序运行时获取已知名称的类或已有对象的相关信息的一种机制,包括类的方法、属性、超类等信息,还包括实例的创建和实例类型的判断等A 反射B 继承C 多态D 组合E 聚合F 抽象G 抽象5.2 工厂方法模式与简单工厂模式相比的优点有(ABCD)A 工厂方法模式很好的符合开闭原则B 工厂方法类模式中工厂类职责变轻,业务逻辑相对简单C 具体产品与工厂类之间的耦合降低D工厂方法模式是简单工厂模式的进一步抽象和推广E Factory类内的方法常使用静态方法F 只提供一个工厂类G不需要考虑对象的具体创建细节6.1现有5个产品族,分布于3各不同的产品等级结构,只要指明一个产品所处的产品族以及它所在的等级结构,就可以唯一地确认这个产品。

软件体系结构与设计模式期末复习

软件体系结构与设计模式期末复习

体系结构期末复习一、选择题(一)1. 设计模式的基本原理是( C )A. 面向实现编程B. 面向对象编程C. 面向接口编程D. 面向组合编程2. 设计模式的两大主题是( D )A. 系统的维护与开发B. 对象组合与类的继承C. 系统架构与系统开发D. 系统复用与系统扩展3. 依据设计模式思想,程序开发中应优先使用的是( A )关系实现复用。

A. 组合聚合B. 继承C. 创建D. .以上都不对4. 关于继承表述错误的是( D )A. 继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。

B. 泛化类(超类)可以显式地捕获那些公共的属性和方法。

特殊类(子类)则通过附加属性和方法来进行实现的扩展。

C. 破坏了封装性,因为这会将父类的实现细节暴露给子类。

D. 继承本质上是“白盒复用”,对父类的修改,不会影响到子类。

5. 常用的设计模式可分为( A )A. 创建型、结构型和行为型B. 对象型、结构型和行为型C. 过程型、创建型和结构型D. 抽象型、接口型和实现型6. “不要和陌生人说话”是对( D )设计原则的通俗表述。

A. 接口隔离B. 里氏代换C. 依赖倒转D. .迪米特法则7. 在适配器模式中,对象适配器模式是对( A )设计原则的典型应用A. 合成聚合B. 里氏代换C. 依赖倒转D. .迪米特法则8. 将一个类的接口转换成客户希望的另一个接口,这句话是对(C)设计模式的描述A. 策略模式B. 桥接模式C. 适配器模式D. 单例模式9. 以下设计模式中属于结构模式的是( D )A. 观察者模式B. 单例模式C. 策略模式D. 外观模式10. 以下不属于对象行为型模式是( D )A. 命令模式B. 策略模式C. 访问者模式D. 桥接模式11. 下面的类图表示的是哪个设计模式( D )A. 抽象工厂模式B. 观察者模式C. 策略模式D. 桥接模式12. Open-Close开闭原则的含义是一个软件实体( A )A. 应当对扩展开放,对修改关闭。

设计模式习题及参考答案

设计模式习题及参考答案

设计模式习题及参考答案《设计模式》复习题⼀、单选题1.不同级别的⽤户对同⼀对象拥有不同的访问权利或某个客户端不能直接操作到某个对象,但⼜必须和那个对象有所互动,这种情况最好使⽤什么设计模式( )A. Bridge模式B. Facade模式C. Adapter模式D. Proxy模式2.模式常⽤的基本设计模式可分为( )A.创建型、结构型和⾏为型B.对象型、结构型和⾏为型C.过程型、结构型和⾏为型D.抽象型、接⼝型和实现型3.以下哪个模式是利⽤⼀个对象,快速地⽣成⼀批对象( )A. 抽象⼯⼚(Abstract Factory)模式B. 合成(Composite)模式C. 原型(Prototype)模式D. 桥接(Bridge)模式4.以下不属于结构型模式是( )A. COMPOSITE(组合)B. ADAPTER(适配器)C. FLYWEIGHT(享元)D. SINGLETON(单例)5.以下意图那个是⽤来描述ABSTRACT FACTORY(抽象⼯⼚)模式( ) 。

A.提供⼀个创建⼀系列相关或相互依赖对象的接⼝,⽽⽆需指定它们具体的类。

B.定义⼀个⽤于创建对象的接⼝,让⼦类决定实例化哪⼀个类。

C.将⼀个类的接⼝转换成客户希望的另外⼀个接⼝。

D.表⽰⼀个作⽤于某对象结构中的各元素的操作。

6.设计模式的两⼤主题是( )A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复⽤与系统扩展7.外观模式的作⽤是()A.当不能采⽤⽣成⼦类的⽅法进⾏扩充时,动态地给⼀个对象添加⼀些额外的功能。

B.为了系统中的⼀组功能调⽤提供⼀个⼀致的接⼝,这个接⼝使得这⼀⼦系统更加容易使⽤。

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

D.在⽅法中定义算法的框架,⽽将算法中的⼀些操作步骤延迟到⼦类中实现某软件公司欲设计⼀款图像处理软件,帮助⽤户对拍摄的照⽚进⾏后期处理。

在软件需求分析阶段,公司的系统分析师识别出了如下3个关键需求:图像处理软件需要记录⽤户在处理照⽚时所有动作,并能够⽀持⽤户动作的撤销与重做等⾏为。

设计模式考试复习试题[含答案解析]

设计模式考试复习试题[含答案解析]

一、1. 设计模式一般用来解决什么样的问题: A.同一问题的不同表相2. 下列属于面向对象基本原则的是: C.里氏代换3. Open-Close原则的含义是一个软件实体:A.应当对扩展开放,对修改关闭.4. 当我们想创建一个具体的对象而又不希望指定具体的类时,使用(A)模式。

A.创建型5. 要依赖于抽象不要依赖于具体。

即针对接口编程不要针对实现编程:(D)依赖倒转原则6. 依据设计模式思想,程序开发中应优先使用的是( A )关系实现复用。

A, 委派7. 设计模式的两大主题是( D ) D.系统复用与系统扩展8. 单体模式中,两个基本要点(AB)和单体类自己提供单例A .构造函数私有 B.唯一实例9. 下列模式中,属于行为模式的是( B ) B观察者10. “不要和陌生人说话”是( D )原则的通俗表述 D.迪米特1. 软件体系结构是指一个系统的有目的的设计和规划,这个设计规划既不描述活动,也不描述系统怎样开发,它只描述系统的组成元素及其相互的交互协作。

2.一个UML模型只描述了一个系统要做什么,它并没告诉我们系统是怎么做。

3.接口是可以在整个模型中反复使用的一组行为,是一个没有属性而只有方法的类。

4.多重性指的是,某个类有多个对象可以和另一个类的一对象关联。

5.当一个类的对象可以充当多种角色时,自身关联就可能发生。

6.在泛化关系中,子类可以替代父类。

后前者出现的可以相同地方。

反过来却不成立。

7.最通常的依赖关系是一个类操作的形构中用到了另一个类的定义。

8.组成是强类型的聚集,因为聚集中的每个部分体只能属于一个整体。

9.实现的符号和继承的符号有相似之处,两者的唯一差别是实现关系用虚线表示,继承关系用实线表示。

10. 设计模式中应优先使用对象组合而不是类继承。

1.适配器模式属于创建型模式结构型( F )2.在设计模式中,“效果”只是指“原因和结果”( T )3.设计模式使代码编制不能真正工程化( T )4.面向对象语言编程中的异常处理,可以理解为责任链模式(T )5.反模式就是反对在软件开发过程中使用设计模式分析:反模式用来解决问题的带有共性的不良方法(F )1.什么是设计模式?设计模式目标是什么?答:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

23种设计模式考题

23种设计模式考题

23种设计模式考题设计模式是软件开发中常用的解决问题的方法论,它们提供了一套经过验证的解决方案,可以帮助开发者更好地组织和设计代码。

下面是23种常见的设计模式的考题及其回答:1. 单例模式:问,请解释什么是单例模式,并说明它的优缺点。

答,单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。

其优点是可以节省系统资源,提高性能;缺点是可能引入全局状态,使代码难以调试和测试。

2. 工厂模式:问,请解释什么是工厂模式,并列举其主要类型。

答,工厂模式是一种创建型设计模式,它将对象的创建过程封装在一个工厂类中。

主要类型包括简单工厂模式、工厂方法模式和抽象工厂模式。

3. 抽象工厂模式:问,请解释什么是抽象工厂模式,并说明它与工厂方法模式的区别。

答,抽象工厂模式是一种创建型设计模式,它提供一个接口,用于创建一系列相关或依赖对象的家族。

与工厂方法模式不同的是,抽象工厂模式强调创建一系列相关对象,而不是一个对象。

4. 建造者模式:问,请解释什么是建造者模式,并说明它的优势。

答,建造者模式是一种创建型设计模式,它将一个复杂对象的构建过程分解为多个简单的步骤,并通过一个指导者类来控制构建过程。

其优势是可以灵活地构建不同的产品,同时隐藏了产品的内部结构。

5. 原型模式:问,请解释什么是原型模式,并说明它的适用场景。

答,原型模式是一种创建型设计模式,它通过复制现有对象来创建新对象,而不是通过实例化类。

适用场景包括需要创建大量相似对象、对象的创建过程复杂或耗时等情况。

6. 适配器模式:问,请解释什么是适配器模式,并说明它的作用。

答,适配器模式是一种结构型设计模式,它将一个类的接口转换成客户端所期望的另一个接口。

它的作用是使原本不兼容的接口能够协同工作。

7. 桥接模式:问,请解释什么是桥接模式,并说明它与适配器模式的区别。

答,桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化。

软件设计模式试题集(含答案)

软件设计模式试题集(含答案)

3. 设计模式中一般都遵循的原则有什么?
开-闭原则,根据场景进行设计原则,优先组合原则,包容变化原则。
4. 四人团针对“创建优秀面向对象设计”建议了哪些策略?
针对接口编程,优先使用对象组合而不是类继承,找到并封装变化点。 第 6 章 facade(外观)模式
一.选择
1. 外观模式的作用是()。A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些
Façade 向客户展现使用现有系统的一个新的接口。如何实现:定义一个(或一组)新的类来封装所需的接口。 让新的类使用现有的系统。
2. 请简要说明在一个复杂系统中应用 Façade(外观)模式的优点。 当拥有一个复杂的系统时,Façade(外观)模 式使我们只需要使用它的一部分功能。最终我们将得到一个更简
假设有一个 Client 对象,这个对象必须处理 Database、Model、Element 类的对象。Client 必须首先通过 Database 对象打开数据库,以得到一个对 Model 对象的引用,然后再向 Model 对象请求一个 Element 对象,最后向 Element 对象查询所需的信息。而如果能创建一个 DatabaseFacade 类,让 Client 对象向它发出请求,那么上面的过程可能 就会变得简单一些。 2. 请举例说明 Facade 模式和 Adapter 模式使用场景的差异,并说明它们的解决方案及表现的特点。
包容类与需要的接口相匹配,并调用被包容类的方法。 4.
请简要说明在软件设计中设计模式的作用?
软件设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。
使用设计模式是为了适应需求变化、可重用代码、让代码更容易被他人理解、保证代码的可靠性。

设计模式复习题

设计模式复习题

(1)以下是模式的基本要素的是。

ABCDA)名称B)意图C)解决方案D)参与者和协作者(2)常用的描述设计模式的格式有。

ABCDA)意图B)动机C)适用性D)结构(3)以下哪些问题通过应用设计模式能够解决。

ADA)指定对象的接口B)排除软件BUG C)确定软件的功能都正确实现D)设计应支持变化(4)面向对象系统中功能复用的最常用技术是。

ABA)类继承B)对象组合C)使用抽象类D)使用实现类(5)以下属于行为对象模式的是。

ABCDA)模板(Template Method)模式B)迭代器(Iterator)模式C)命令(Command)模式D)观察者(Observer)模式(6)以下属于创建型模式的是。

ACA)抽象工厂(Abstract Factory)模式B)合成(Composite)模式C)单例(Singleton)模式D)桥接(Bridge)模式(7)在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。

主要体现在。

ADA)适配器(Adapte)模式B)合成(Composite)模式C)原型(Prototype)模式D)桥接(Bridge)模式(8)单例模式中,两个基本要点( a b )和单子类自己提供单例A .构造函数私有 B.唯一实例C.静态工厂方法D.以上都不对(9)常用的基本设计模式可分为。

AA)创建型、结构型和行为型B)对象型、结构型和行为型C)过程型、结构型和行为型D)抽象型、接口型和实现型(10)以下关于创建型模式说法正确的是。

AA)创建型模式关注的是对象的创建B)创建型模式关注的是功能的实现C)创建型模式关注的是组织类和对象的常用方法D)创建型模式关注的是对象间的协作(11)封装分布于多个类之间的行为的模式是。

CA)观察者(Observer)模式B)迭代器(Iterator)模式C)访问者(Visitor)模式D)策略(Strategy)模式(12)Observer(观察者)模式适用于。

设计模式复习题

设计模式复习题

三、题目预测填空题:1.请从外观、组合、工厂方法、模板方法、观察者、单件、抽象工厂、命令、迭代器、代理、适配器模式中选择7种填入下列的空缺中。

P6101) 工厂方法模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。

2) 抽象工厂模式提供一系列相关或相互依赖对象的接口而无需指定它们具体的类。

3) 单件模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。

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

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

5) 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面,简化了一群类的接口。

6) 观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新,也就是让对象能在状态改变时被通知。

7) 模板模MVC模型式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。

8) 迭代器模式在对象的集合之中游走,而不暴露集合的实现。

9) 代理模式包装对象,以控制对比对象的访问。

10) 适配器模式封装对象,并提供不同的接口。

2.工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型。

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

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

4.设计模式的基本要素有(名字),(意图),(问题),(解决方案),(参与者与协作者),(实现),(一般性结构)。

5.MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式6.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(依赖倒转),(迪米特法则)(接口隔离)。

7.当我们想用不同的请求对客户进行参数化时,可以使用(命令)模式。

8.当我们想封装不同算法并使它们可相互替换时,可以使用(策略)模式。

《JAVA设计模式》期末考试复习资料

《JAVA设计模式》期末考试复习资料

《JAVA设计模式》复习资料一、单项选择题1.设计模式起源于()A、机械设计B、建筑工程设计C、水利工程设计D、工业电力化设计2.“不要和陌生人说话”是()原则的通俗表述。

A、接口隔离B、里氏替换C、依赖倒置D、迪米特3.目前常见的设计模式主要有()种。

A、23B、21C、32D、284.以下关于单一职责原则的叙述不正确的是()。

A、单一职责原则的英文名称是Single Responsibility Principle.B、单一职责原则要求一个类只有一个职责C、单一职责原则有利于对象的稳定,降低类的复杂性D、单一职责原则提高了类之间的耦合性5.以下关于依赖倒置原则的叙述不正确的是()A、依赖倒置原则的简称是DIPB、高层模块不依赖于低层模块,低层模块依赖于高层模块C、依赖倒置原则中高层模块和低层模块都依赖于抽象D、依赖倒置原则实现模块间的松耦合6.下面关于单例模式说法错误的是()A、单例模式是指一个类只有一个实例B、单例类从实现方式上分为懒汉式和饿汉式C、单例类从功能上分为状态单例类和无状态单例类D、可以通过继承的方式对单例类进行扩展得到功能更丰富的单例类7.下面关于工厂方法模式说法错误的是()。

A、工厂方法模式使一个类是实例化延迟到其子类中B、工厂方法模式中具有抽象工厂、具体工厂、抽象产品和具体产品4个角色C、工厂方法模式可以处理多个产品的多个等级结构D、工厂方法模式可以屏蔽产品类8.在以下情况不适合使用责任职责链模式()A、有多个对象可以处理请求,哪个对象处理该请求在运行时刻自动确定。

B、在需要用比较通用和复杂的对象指针代替简单的指针的时候。

C、你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。

D、一个请求需要一系列的处理工作。

9.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式A、结构型B、创建型C、行为型D、以上都可以10.以下用来描述适配器模式的是()A、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

设计模式习题及参考答案

设计模式习题及参考答案

《设计模式》复习题一、单选题1.不同级别的用户对同一对象拥有不同的访问权利或某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动,这种情况最好使用什么设计模式( )A. Bridge模式B. Facade模式C. Adapter模式D. Proxy模式2.模式常用的基本设计模式可分为( )A.创建型、结构型和行为型B.对象型、结构型和行为型C.过程型、结构型和行为型D.抽象型、接口型和实现型3.以下哪个模式是利用一个对象,快速地生成一批对象( )A. 抽象工厂(Abstract Factory)模式B. 合成(Composite)模式C. 原型(Prototype)模式D. 桥接(Bridge)模式4.以下不属于结构型模式是( )A. COMPOSITE(组合)B. ADAPTER(适配器)C. FLYWEIGHT(享元)D. SINGLETON(单例)5.以下意图那个是用来描述ABSTRACT FACTORY(抽象工厂)模式( ) 。

A.提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

B.定义一个用于创建对象的接口,让子类决定实例化哪一个类。

C.将一个类的接口转换成客户希望的另外一个接口。

D.表示一个作用于某对象结构中的各元素的操作。

6.设计模式的两大主题是( )A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展7.外观模式的作用是()A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。

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

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

D.在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现某软件公司欲设计一款图像处理软件,帮助用户对拍摄的照片进行后期处理。

在软件需求分析阶段,公司的系统分析师识别出了如下3个关键需求:图像处理软件需要记录用户在处理照片时所有动作,并能够支持用户动作的撤销与重做等行为。

设计模式期末复习

设计模式期末复习

设计模式期末复习题1、以下哪个模式是利用一个对象,快速地生成一批对象:()A.抽象工厂(Abstract Factory)模式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.职责链(Chain of Responsibility)模式D.策略(Strategy)模式8、( )不是桥接模式所适用的场景A. 一个可以跨平台并支持多种格式的文件编辑器B. 一个支持多数据源的报表生成工具,可以以不同图形方式显示报表信息C. 一个可动态选择排序算法的数据操作工具D. 一个可以支持多种编程语言的跨平台开发工具9、下图描述了一种设计模式,该模式不可以()A. 动态决定由一组对象中某个对象处理该请求B. 动态指定处理一个请求的对象集合,并高效率地处理一个请求C. 使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合D. 将对象连成一条链,并沿着该链传递请求10、在()时无须使用命令模式A. 实现撤消操作和恢复操作B. 将请求的发送者和接收者解耦C. 不改变聚合类的前提下定义作用于聚合中元素的新操作D. 在不同的时刻指定请求,并将请求排队11. 中介者模式中通过中介者来将同事类解耦,这是()的具体应用。

设计模式考试题及答案

设计模式考试题及答案

设计模式考试题及答案一、选择题(每题2分,共10分)1. 以下哪个选项不属于创建型设计模式?A. 单例模式B. 工厂方法模式C. 观察者模式D. 建造者模式答案:C2. 策略模式允许在运行时选择哪种算法?A. 数据存储算法B. 数据加密算法C. 数据处理算法D. 数据传输算法答案:C3. 装饰器模式的主要目的是什么?A. 增加对象的新功能B. 减少对象的新功能C. 替换对象的功能D. 删除对象的功能答案:A4. 以下哪个模式是处理对象间一对多关系的?A. 单例模式B. 工厂方法模式C. 观察者模式D. 适配器模式答案:C5. 代理模式的主要作用是什么?A. 为其他对象提供一种代理以控制对这个对象的访问B. 为其他对象提供一种代理以增加对这个对象的功能C. 为其他对象提供一种代理以减少对这个对象的功能D. 为其他对象提供一种代理以替换对这个对象的功能答案:A二、填空题(每题2分,共10分)1. 工厂方法模式中,工厂方法用来创建______的实例。

答案:产品对象2. 策略模式允许算法的变化独立于使用算法的客户。

答案:独立3. 装饰器模式可以在不修改对象结构的情况下,动态地给单个对象添加______。

答案:功能4. 观察者模式定义了对象之间的______,当一个对象改变状态时,所有依赖于它的对象都会得到通知并自动更新。

答案:一对多关系5. 代理模式通过引入一个______对象来间接访问实际对象。

答案:代理三、简答题(每题10分,共20分)1. 请简述单例模式的实现方式及其应用场景。

答案:单例模式确保一个类只有一个实例,并提供一个全局访问点。

实现方式通常包括私有构造函数和静态方法来获取实例。

应用场景包括日志记录器、配置管理器等。

2. 描述适配器模式的作用及其使用条件。

答案:适配器模式用于使原本因接口不兼容而不能一起工作的类可以一起工作。

它将一个类的接口转换成客户期望的另一个接口。

使用条件是当需要将一些“现存”类协同工作,而这些类的接口不符合期望时。

java设计模式期末考试和答案

java设计模式期末考试和答案

java设计模式期末考试和答案## Java设计模式期末考试和答案### 一、选择题(每题2分,共10分)1. 以下哪个不是设计模式的分类?A. 创建型模式B. 结构型模式C. 行为型模式D. 功能型模式**答案:D**2. 单例模式属于哪种类型的设计模式?A. 创建型模式B. 结构型模式C. 行为型模式D. 功能型模式**答案:A**3. 以下哪个设计模式不是创建型模式?A. 工厂方法模式B. 抽象工厂模式C. 建造者模式D. 观察者模式**答案:D**4. 策略模式属于哪种类型的设计模式?A. 创建型模式B. 结构型模式C. 行为型模式D. 功能型模式**答案:C**5. 以下哪个不是结构型模式?A. 适配器模式B. 装饰器模式C. 代理模式D. 命令模式**答案:D**### 二、填空题(每题2分,共10分)1. 工厂方法模式中,工厂方法是一个______方法,用于创建______对象。

**答案:接口;具体产品**2. 建造者模式中,Director类负责______产品的构建过程,Builder类定义______产品对象的内部表示。

**答案:指导;创建**3. 代理模式中,Subject接口定义了______和______两个角色需要实现的方法。

**答案:RealSubject;Proxy**4. 观察者模式中,当______对象状态发生改变时,会通知所有______对象。

**答案:Subject;Observer**5. 策略模式中,Context类持有一个______对象的引用,用于执行算法。

**答案:Strategy**### 三、简答题(每题10分,共30分)1. 请简述单例模式的实现方式,并说明其优缺点。

**答案:**单例模式的实现方式通常有两种:懒汉式和饿汉式。

懒汉式在第一次调用时创建实例,而饿汉式在类加载时就创建实例。

优点是保证了全局只有一个实例,并提供一个全局访问点。

缺点是如果实例化对象需要很多资源,那么在不需要时也会占用这些资源。

java设计模式期末复习题

java设计模式期末复习题

java设计模式期末复习题一、选择题(每题2分,共20分)1. 以下哪个不是Java设计模式的分类?A. 创建型模式B. 结构型模式C. 行为型模式D. 功能型模式2. 单例模式属于哪种设计模式?A. 创建型模式B. 结构型模式C. 行为型模式D. 并发型模式3. 工厂方法模式与简单工厂模式的区别是什么?A. 工厂方法模式使用接口B. 简单工厂模式使用继承C. 工厂方法模式使用多态D. 所有选项都正确4. 代理模式的主要作用是什么?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. 所有选项都正确二、简答题(每题10分,共30分)1. 请简述建造者模式的用途和优点。

2. 适配器模式在实际开发中有哪些应用场景?3. 模板方法模式与策略模式有何不同?三、应用题(每题25分,共50分)1. 假设你需要设计一个系统,该系统需要支持多种支付方式(如支付宝、微信支付、银行转账等)。

设计模式题库以及答案

设计模式题库以及答案

一、选择题(20分,20个)二、简答题(30分,6个)1、框架的定义是框架就是一组相互协作的类,对于特定的一类软件,框架构成了一种可重用的设计。

2、架构是一个软件系统从整体到部分的最高层次的划分。

架构包括架构元件(Architecture Component)、联结器(Connector)、任务流(Task-flow)3、架构的目标:可靠性、安全性、可拓展性、可定制化、可维护性、客户体验、市场时机4、架构分成三种:逻辑架构、物理架构、系统架构5、架构的两要素:元件划分、设计决定6、设计模式是一系列在实践中总结出来的可复用的面向对象的软件设计方法7、划分三种不同层次的模式:架构模式(Architectural Pattern)、设计模式(Design Pattern)、成例(Idiom)。

成例有时称为代码模式(Coding Pattern)。

8、创建型设计模式,如工厂方法(Factory Method)模式、抽象工厂(Abstract Factory)模式、原型(Prototype)模式、单例(Singleton)模式,建造(Builder)模式9、结构型设计模式,如合成(Composite)模式、装饰(Decorator)模式、代理(Proxy)模式、享元(Flyweight)模式、门面(Facade)模式、桥梁(Bridge)模式10、架构模式描述软件系统里的基本的结构组织或纲要11、常见的架构模式:分层模式、黑板模式、中介模式、分散过程模式、微核模式12、框架与架构之间的关系:架构确定了系统整体结构、层次划分,不同部分之间的协作等设计考虑。

框架比架构更具体。

更偏重于技术涉嫌。

确定框架后,软件体系结构也随之确定,而对于同一软件体系结构(比如Web开发中的MVC),可以通过多种框架来实现13、框架与设计模式之间的关系:设计模式研究的是一个设计问题的解决方法,一个模式可应用于不同的框架和被不同的语言所实现;而框架则是一个应用的体系结构,是一种或多种设计模式和代码的混合体虽然它们有所不同,但却共同致力于使人们的设计可以被重用,在思想上存在着统一性的特点,因而设计模式的思想可以在框架设计中进行应用14、框架和设计模式存在着显著的区别:应用领域(前者单一解决方案可在不同框架上用)、内容(模式单纯设计、框架式设计与代码的混合体)15、设计模式比框架更容易移植16、类之间的关系:关联(自身关联、单向、双向实线箭头)、聚合(空心箭头)/组合<包容>(实心箭头)、依赖(虚线箭头)、泛华(继承,实线三角形)、实现(虚线三角形)17、基本元素符:类、包、接口18、开闭(OCP)原则:一个软件实体应当对扩展开放,对修改关闭。

软件体系结构与设计模式期末复习

软件体系结构与设计模式期末复习

体系结构期末复习一、选择题(一)1. 设计模式的基本原理是( C )A.面向实现编程B.面向对象编程C.面向接口编程D.面向组合编程2. 设计模式的两大主题是( D )A.系统的维护与开发B.对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展3. 依据设计模式思想,程序开发中应优先使用的是( A )关系实现复用。

A.组合聚合B.继承C.创建D. .以上都不对4. 关于继承表述错误的是( D )A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。

B.泛化类(超类)可以显式地捕获那些公共的属性和方法。

特殊类(子类)则通过附加属性和方法来进行实现的扩展。

C.破坏了封装性,因为这会将父类的实现细节暴露给子类。

D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。

5. 常用的设计模式可分为( A )A.创建型、结构型和行为型B.对象型、结构型和行为型C.过程型、创建型和结构型D.抽象型、接口型和实现型6. “不要和陌生人说话”是对( D )设计原则的通俗表述。

A.接口隔离B.里氏代换C.依赖倒转D. .迪米特法则7. 在适配器模式中,对象适配器模式是对( A )设计原则的典型应用A.合成聚合B.里氏代换C.依赖倒转D. .迪米特法则8. 将一个类的接口转换成客户希望的另一个接口,这句话是对(C)设计模式的描述A.策略模式B.桥接模式C.适配器模式D.单例模式9. 以下设计模式中属于结构模式的是( D )A. 观察者模式B.单例模式C.策略模式D.外观模式10. 以下不属于对象行为型模式是( D )A. 命令模式B.策略模式C.访问者模式D.桥接模式11. 下面的类图表示的是哪个设计模式( D )A. 抽象工厂模式B.观察者模式C.策略模式D.桥接模式12. Open-Close开闭原则的含义是一个软件实体( A )A.应当对扩展开放,对修改关闭。

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

完整word版设计模式期末考试复习

完整word版设计模式期末考试复习

《软件建模》考试试题举例・、判断题〉单例类易扩展、易复用。

(错1・)2.装饰模式能够动态地为•个对象增加新的职责。

(对二、单项选择题)。

简单工厂模式的优点不包括(D1.它提供了专门的匸厂类用于创建对象,实现了对责任的分割。

A.客户无须知道所创建的具体产品类的类名。

B.产品。

“消费”C.客户可以免除岚接创建产品对象的贵任,而仅仅工厂角色可以通过继承而得以复用。

D.三、设计词汇与概念配对题将其编号填入对段叙述中选择最贴切的•个叙述,请从后面的9下面列出了5个设计词汇,应词汇后面的括号中。

A) 1.单-职责()依赖倒置(D 2.就•个类而言,应该仅有•个引起它变化的原因。

(单•职责原则)A.B.-个软件实体应当对扩展开放,对修改关闭。

(开闭原则)C.所有引用基类(父类)的地方必须能透明地使用其了•类的对象。

(里氏代换原则〉D.要针对接口或抽象类编程,而不是针对具体类编程。

(依赖倒置原则〉E.•个软件实体应当尽可能少的与其他实体发生相互作用。

(迪米特法则)四、软件建模题1.下图是•间教室的状态转换图,请将图中处的内容补充完整。

2•请回答以下关于装饰模式的问题。

)下图是装饰模式的设计类图,请补充完整。

1Component + operation ()comp o n ent. operation。

:(2)装饰模式中包含哪四种角色?相互之间如何协作?抽象构件(Component)具体构件(ConcieteComponent)抽象装饰类(Decomte)具体装饰类(Concret已DeconU已)(3)装饰模式能解决哪一类软件设计问题?在不影响其他对象的情况下,以动态、透明的方式给•个对象增加额外职资,与继承和比更加灵活,并且能够处理那些可以撤销的职责五、综合应用题1•咖卩II:店为了进-步满足顾客的口味,允许顾客可以在普通咖啡中自由地加入多种配料(包括加糖、加奶、加冰等)。

咖啡店规定:普通咖啡5元-杯,加糖多收1元,加奶多收2元,元。

设计模式考试

设计模式考试

,填空1.设计模式元素包括名称、问题、方案、效果。

2.设计模式中效果有应用效果、使用模式两方面。

3.观察者模式包含的角色有主题、观察者、具体主题、具体观察者。

4.适配器模式包含的角色有目标、被适配者、适配器。

5.外观模式包含的角色有子系统、外观。

6.工厂方法模式包含的角色有抽象产品、构造者、具体产品、具体构造者。

7.抽象工厂模式包含的角色有抽象产品、抽象工厂、具体产品、具体工厂。

8.模板方法模式包含的角色有抽象模板、具体模板。

9.代理模式包含的角色有抽象主题、真实主题、代理主题。

10.工厂设计模式分为简单工厂模式、抽象工厂模式、工厂方法模式。

11.设计模式的两大主题对象组合、类继承的讨论12.设计的基本原则开-闭原则、单一职责原则、依赖倒转原则、迪米特法则(LOD)。

13.工厂方法模式的特点:只能有一个抽象产品类,这个抽象产品类可以派生出多个具体产品类。

单选题1.静态工厂的核心角色是什么a)抽象产品角色具体产品角色工厂角色2.设计模式中抽象工厂模式的定义a)提供一个创建一系列或相互依赖对象的接口,而无须指定它们具体的类3.当将一个类的接口转化成客户希望的另一个接口,使用哪种设计模式a)适配器模式4.适配器模式干什么的a)将一个类的接口转换成客户希望的另外一个接口。

适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作5.常见的设计模式有哪些(分成几种类型)a)创建型、行为型、结构型6.工厂方法模式的主要功能是什么a)定义一个用于创建对象的接口,让子类决定实例化哪一个类。

工厂方法使一个类的实例化延迟到其子类。

7.设计模式的基本原则a)开-闭原则、单一职责原则、依赖倒转原则、迪米特法则(LOD)简答题1.抽象工厂模式如何用一系列工厂方法模式来实现抽象工厂模式的关键是在一个抽象类或接口中定义若干抽象方法,这些抽象方法分别返回某个类的实例,该抽象类或者接口让其子类或实现该接口的类的重写,这些抽象方法为用户提供一系列相关的对象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、题目预测填空题:1.请从外观、组合、工厂方法、模板方法、观察者、单件、抽象工厂、命令、迭代器、代理、适配器模式中选择7种填入下列的空缺中。

P6101) 工厂方法模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。

2) 抽象工厂模式提供一系列相关或相互依赖对象的接口而无需指定它们具体的类。

3) 单件模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。

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

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

5) 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面,简化了一群类的接口。

6) 观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新,也就是让对象能在状态改变时被通知。

7) 模板模MVC模型式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。

8) 迭代器模式在对象的集合之中游走,而不暴露集合的实现。

9) 代理模式包装对象,以控制对比对象的访问。

10) 适配器模式封装对象,并提供不同的接口。

2.工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型。

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

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

4.设计模式的基本要素有(名字),(意图),(问题),(解决方案),(参与者与协作者),(实现),(一般性结构)。

5.MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式6.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(依赖倒转),(迪米特法则)(接口隔离)。

7.当我们想用不同的请求对客户进行参数化时,可以使用(命令)模式。

8.当我们想封装不同算法并使它们可相互替换时,可以使用(策略)模式。

9. 每一个设计模式都集中于一个特定的(设计问题),描述了(相互通信的对象)或者(类)以及(解决方案)和(解决效果)。

10.设计模式中应优先使用(对象组合)而不是(类继承)。

11.面向对象(OO)的基础包括(抽象)(封装)(多态)(继承)。

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)C、备忘录模式(Memento)D、工厂方法模式(Factory Method)8. 下面的类图表示的是哪个设计模式?(D )A、模板方法模式(Template Method)B、命令模式(Command)C、单例模式(Singleton)D、状态模式(State)9.下面的类图表示的是哪个设计模式?(C )A、模板方法模式(Template Method)B、命令模式(Command)C、单例模式(Singleton)D、状态模式(State)10.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(A)模式。

A.创建型B.结构型C行为型D.以上都可以11、设计模式的两大主题是( d )A.系统的维护与开发B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展12、单例模式中,两个基本要点( a b )和单子类自己提供单例A .构造函数私有B.唯一实例C.静态工厂方法D.以上都不对13、下列模式中,属于行为模式的是( b )A.工厂模式B观察者C适配器以上都是14、对象适配器模式是(a )原则的典型应用。

A.合成聚合复用原则B.里式代换原则C.依赖倒转原则D.迪米特法则15、静态工厂的核心角色是(a)A.抽象产品B.具体产品C.静态工厂D.消费者16、在观察者模式中,表述错误的是(c )A.观察者角色的更新是被动的。

B.被观察者可以通知观察者进行更新C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。

D.以上表述全部错误。

17、以下关于创建型模式说法正确的是。

(A)A.创建型模式关注的是对象的创建B.创建型模式关注的是功能的实现C.创建型模式关注的是组织类和对象的常用方法D.创建型模式关注的是对象间的协作18.常用的描述设计模式的格式有(ABCD)。

A.意图B.动机C.适用性D.结构19.以下关于结构型模式说法正确的是(ACD)。

A.结构型模式可以在不破坏类封装性的基础上,实现新的功能。

B.结构型模式主要用于创建一组对象。

C.结构型模式可以创建一组类的统一访问接口D.结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。

20.以下属于结构型模式的是(AB)。

A.代理(Proxy)模式B.合成(Composite)模式C.命令(Command)模式D.观察者(Observer)模式21.在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。

主要体现在(AD)。

A.适配器(Adapte)模式B.合成(Composite)模式C.原型(Prototype)模式D.桥接(Bridge)模式22.结构型模式中最体现扩展性的几种模式是(BC)。

A.适配器(Adapte)模式B.合成(Composite)模式C.装饰(Decorator)模式D.桥接(Bridge)模式23.行为类模式使用( B )在类间分派行为。

A.接口B.继承机制C.对象组合D.委托24.以下属于行为对象模式的是( BCD )。

A.模板(Template Method)模式B.迭代器(Iterator)模式C.命令(Command)模式D.观察者(Observer)模式25.封装分布于多个类之间的行为的模式是( C ) 。

A.观察者(Observer)模式B.迭代器(Iterator)模式C.访问者(Visitor)模式D.策略(Strategy)模式26.利用继承来提供DUCK的行为,会导致下列那些缺点?(ABCD)A.代码在多个子类中重复B.运行时的行为不容易改变C.我们不能让鸭子跳舞D.改变会牵一发而动全身,造成其他鸭子不想要的改变简答题:1.什么是设计模式?设计模式的目标是什么?答:设计模式通常是对于某一类的软件设计问题的可重用的解决方案,将设计模式引入软件设计和开发过程,其目的就在于要充分利用已有的软件开发经验。

2.设计模式具有哪三大特点?答:(1) 在特定的场景下有可重用性,对相同类型不同问题的环境,其解决方案都有效。

(2) 可传授性,即问题出现的机会很多,解决问题的方案相同,人们相对可以接受。

(3) 有表示模式的名称。

3.GOF 设计模式常用的有几种?GOF 设计模式按照模式的目的可分为哪三类?答:行为型,结构型,创建型4.画出抽象工厂方法类图(这类题自己看书去。

)5.针对接口编程,不针对实现编程的意义。

答:主题与观察者都是用接口:观察者利用主题的接口向主题注册,而主题利用观察者接口通知观察者。

这样可以让两者之间运作正常,又同时具有松耦合的优点。

6.面向对象(OO)的原则有:答:1.封装变化2.多用组合,少用继承3.针对接口编程,不针对实现编程4.为交互对象之间的松耦合设计而努力5.对扩展开放,对修改关闭6.依赖抽象,不要依赖具体类7.只和朋友交谈8.别找我,我会找你9.类应该只有一个改变的理由7. 耦合分为几种?(1)内容耦合(2)公共耦合(3)外部耦合(4)控制耦合(5)标记耦合(6)数据耦合(7)非直接耦合8.GOF模式分为几种,每种包含哪些模式?答:分为3种。

创建型设计模式:简单工厂模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式,单例模式;结构型设计模式:适配器模式,桥接模式,组合模式,装饰模式,外观模式,轻量级模式,代理模式;行为性设计模式:责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略者模式,模板方法模式,访问者模式。

相关文档
最新文档