设计模式复习题

合集下载

设计模式题库

设计模式题库

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. 设计模式一般用来解决什么样的问题: 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.什么是设计模式?设计模式目标是什么?答:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

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

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

一、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.什么是设计模式?设计模式目标是什么?答:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

设计模式复习题

设计模式复习题

(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(观察者)模式适用于。

(完整word版)软件设计模式复习题

(完整word版)软件设计模式复习题

软件设计模式复习题1、熟悉每个设计模式的定义、模式UML图解、模式使用情形以及模式优缺点。

2、设计模式的两大主题是什么?3、设计模式分成几大类?每大类各包含哪些模式?4、为什么要使用设计模式?使用设计模式有哪些好处?5、比较抽象工厂模式和工厂方法模式相似性和差异性。

什么情况下使用抽象工厂模式?什么情形下使用工厂方法模式?6、简述原型模式中浅层克隆和深度克隆的区别?分别给出代码说明。

7、模板方法和普通的实现类继承抽象类方式有何区别?8、是比较和分析适配器模式和桥接模式之间的共性和差异性。

9、请用组合模式实现学校人事管理模式。

10、综合应用装饰模式、命令模式和状态模式实现工具条命令按钮鼠标进入时高亮显示状态以及鼠标单击按钮后呈现凹陷状态,表明当前按钮为选中状态。

11、请阐述享元模式是如何节省系统内存的?试举例分析使用享元模式前后的内存节约之比。

12、使用解析器模式实现对学生成绩表的查询输入语句进行解析并执行查询,成绩表结14、试比较和分析中介者模式和观察者模式之间的相似性和差异性?两者是否能够相互转化?15、模板方法和普通的抽象类继承有什么区别?16、使用访问者模式对12题中的学生信息进行报到。

1、熟悉每个设计模式的定义、模式UML图解、模式使用情形以及模式优缺点。

(见书)答:单件模式:①单例模式:class Sin glet on {private static Sin gleton in sta nee;private Sin glet on(){}public static Sin glet on Get In sta nce(){if (in sta nee == n ull) {in sta nee = new Sin glet on();}retur n in sta nee; }客户端代码:class Program{static void Main(string[] args) {Sin glet on s1 = Sin glet on .Getl nsta nce();Sin glet on s2 = Sin glet on .Getl nsta nce();if (s1 = = s2) {Con sole.WriteL in e("Objects are the same in sta nee");}Co nsole.Read();}}②多线程时的单例(Lock是确保当一个线程位于代码的临界区时,另一个线程不进入临界区。

设计模式总复习题

设计模式总复习题

总复习题复习参考资料:1.GoF 设计模式2.设计模式解析3.易学设计模式4.大话设计模式5.深入浅出设计模式以参考资料为主,模拟试题1—5中有些题答案在一些附加资料中模拟试题1一、选择题(分值20)1。

设计模式一般用来解决什么样的问题()A。

同一问题的不同表相 B不同问题的同一表相C.不同问题的不同表相D.以上都不是2. 下列属于面向对象基本原则的是( )A。

继承 B.封装 C.里氏代换 D都不是3. Open—Close原则的含义是一个软件实体( )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适配器以上都是10。

“不要和陌生人说话”是( )原则的通俗表述A.接口隔离 B。

里氏代换 C.依赖倒转 D。

迪米特二、填空题(分值20)1. 软件体系结构是指一个系统的有目的的设计和规划,这个设计规划既不描述 ,也不描述,它只描述系统的及其相互的。

2.一个UML模型只描述了一个系统,它并没告诉我们系统是 .3.接口是可以在整个模型中反复使用的一组行为,是一个没有而只有的类。

设计模式习题及参考答案

设计模式习题及参考答案

《设计模式》复习题一、单选题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.单例类易扩展、易复用。

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

(对)二、单项选择题1.简单工厂模式的优点不包括( D )。

A. 它提供了专门的工厂类用于创建对象,实现了对责任的分割。

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

C. 客户可以免除直接创建产品对象的责任,而仅仅“消费”产品。

D. 工厂角色可以通过继承而得以复用。

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

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

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

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

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

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

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

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

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

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

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

使用装饰模式设计的类图如下所示:(1)若ICoffee接口与Coffee类定义如下,请编写出CoffeeDecorator类的完整代码。

设计模式复习

设计模式复习

设计模式复习一、选择题(10×2)二、填空题(6×2)三、连线题(8×2)四、模式说明(20)名称,解决方案,结构,优缺点五、综合应用(20)1.创建型模式:是创建对象而不是直接实例化对象(new),使程序在判断给定情况下创建哪一个对象时更为灵活。

2.结构型模式:怎样安排系统内的各个对象,使其分布合理、易于理解、管理和维护。

3.行为型模式:定义系统内对象间的交互和通信。

•根据作用范围分:1.类模式:处理类和子类之间的关系(静态)2.对象模式:处理对象之间的关系,在运行时可以变化(动态)一、创建型模式1)Abstract Factory(抽象工厂)模式2)Factory Method(工厂方法)模式3)Singleton(单件)模式二、结构型模式1)Adapter(适配器)模式2)Composite(组合)模式3)Decorator(装饰)模式4)Facade(外观)模式5)Proxy(代理)模式三、行为模式1)Command(命令)模式2)Iterator(迭代器)模式3)Mediator(中介者)模式4)Observer(观察者)模式5)Strategy(策略)模式模式基础:接口:1.接口中的成员变量默认都是public static final 类型的。

2.接口中的方法默认都是public abstract 类型的。

3.接口没有构造方法,不允许创建接口的实例。

4.接口必须通过其他类来实现它的抽象方法。

5.一个类可以实现多个接口。

6.我们可以定义一个新的接口,用extends关键字去继承一个已有的接口。

注意:只能接口继承接口,类不能继承接口。

一、创建型模式1)Abstract Factory(抽象工厂)模式(对象创建型模式)与工厂方法模式的区别:抽象工厂模式与工厂方法模式最大的区别在于,工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则需要面对多个产品等级结构。

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

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

体系结构期末复习一、选择题(一)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.应当对修改开放,对扩展关闭。

设计模式期末考试复习

设计模式期末考试复习
D.工厂角色可以通过继承而得以复用。
三、设计词汇与概念配对题
下面列出了5个设计词汇,请从后面的9段叙述中选择最贴切的一个叙述,将其编号填入对应词汇后面的括号中。
1.单一职责(A)
2.依赖倒置(D)
A.就一个类而言,应该仅有一个引起它变化的原因。(单一职责原则)
B.一个软件实体应当对扩展开放,对修改关闭。(开闭原则)
public interface ICoffee {
double getPrice();
}
public class Coffee implements ICoffee{
@Override
public double getPrice() {
return 5;
}
}
Public abstract class CoffeeDecorator implements ICoffee{
五、综合应用题
1.咖啡店为了进一步满足顾客的口味,允许顾客可以在普通咖啡中自由地加入多种配料(包括加糖、加奶、加冰等)。咖啡店规定:普通咖啡5元一杯,加糖多收1元,加奶多收2元,加冰多收1元。使用装饰模式设计的类图如下所示:
(1)若ICoffee接口与Coffee类定义如下,请编写出CoffeeDecorator类的完整代码。
《软件建模》考试试题举例
一、判断题
1.单例类易扩展、易复用。(错)
2.装饰模式能够动态地为一个对象增加新的职责。(对)
二、单项选择题
1.简单工厂模式的优点不包括(D)。
A.它提供了专门的工厂类用于创建对象,实现了对责任的分割。
B.客户无须知道所创建的具体产品类的类名。
C.客户可以免除直接创建产品对象的责任,而仅仅“消费”产品。
  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 种。

相关文档
最新文档