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

体系结构期末复习一、选择题(一)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.请从外观、组合、工厂方法、模板方法、观察者、单件、抽象工厂、命令、迭代器、代理、适配器模式中选择7种填入下列的空缺中。
P6101) 工厂方法模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。
2) 抽象工厂模式提供一系列相关或相互依赖对象的接口而无需指定它们具体的类。
3) 单件模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。
4) 组合模式将对象组合成树形结构以表示“部分-整体”的层次结构。
使得用户对单个对象和组合对象的使用具有一致性。
5) 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面,简化了一群类的接口。
6) 观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新,也就是让对象能在状态改变时被通知。
7) 模板模MVC模型式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
8) 迭代器模式在对象的集合之中游走,而不暴露集合的实现。
9) 代理模式包装对象,以控制对比对象的访问。
10) 适配器模式封装对象,并提供不同的接口。
2.工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型。
3.适配器模式,分为类的适配器和对象的适配器两种实现。
其中类的适配器采用的是(继承)关系,而对象适配器采用的是(组合聚合)关系。
4.设计模式的基本要素有(名字),(意图),(问题),(解决方案),(参与者与协作者),(实现),(一般性结构)。
5.MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式6.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(依赖倒转),(迪米特法则)(接口隔离)。
7.当我们想用不同的请求对客户进行参数化时,可以使用(命令)模式。
8.当我们想封装不同算法并使它们可相互替换时,可以使用(策略)模式。
最新设计模式考试复习题(含答案)教学文案

一、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(观察者)模式适用于。
JVA设计模式》期末考试复习

《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.请从外观、组合、工厂方法、模板方法、观察者、单件、抽象工厂、命令、迭代器、代理、适配器模式中选择7种填入下列的空缺中。
P6101) 工厂方法模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。
2) 抽象工厂模式提供一系列相关或相互依赖对象的接口而无需指定它们具体的类。
3) 单件模式确保某一个类仅有一个实例,并自行实例化并向整个系统提供这个实例。
4) 组合模式将对象组合成树形结构以表示“部分-整体”的层次结构。
使得用户对单个对象和组合对象的使用具有一致性。
5) 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面,简化了一群类的接口。
6) 观察者模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新,也就是让对象能在状态改变时被通知。
7) 模板模MVC模型式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
8) 迭代器模式在对象的集合之中游走,而不暴露集合的实现。
9) 代理模式包装对象,以控制对比对象的访问。
10) 适配器模式封装对象,并提供不同的接口。
2.工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型。
3.适配器模式,分为类的适配器和对象的适配器两种实现。
其中类的适配器采用的是(继承)关系,而对象适配器采用的是(组合聚合)关系。
4.设计模式的基本要素有(名字),(意图),(问题),(解决方案),(参与者与协作者),(实现),(一般性结构)。
5.MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式6.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(依赖倒转),(迪米特法则)(接口隔离)。
7.当我们想用不同的请求对客户进行参数化时,可以使用(命令)模式。
8.当我们想封装不同算法并使它们可相互替换时,可以使用(策略)模式。
设计模式总复习题

总复习题复习参考资料: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、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、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.什么是设计模式?设计模式目标是什么?答:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
使用设计模式是为了可重用代码、让代码更容易被他人理解,保证代码可靠性。
2.设计模式中一般都遵循的原则有什么?答:开闭原则、根据场景进行设计原则、优先组合原则、包容变化原则3.“Gang of Four”针对“创建优秀面向对象设计”建议了哪些策略?答:针对接口编程、优先使用对象组合而不是类继承,找到并封装变化点。
4.面向对象系统中功能复用的两种最常用技术是什么?答:类继承和对象组合,类继承允许你根据其他类的实现来定义一个类的实现。
父类的内部细节对子类可见。
类继承是在编译时刻静态定义的,且可直接使用,类继承可以较方便地改变被复用的实现。
对象组合是类继承之外的另一种复用选择。
新的更复杂的功能可以通过组装或组合对象来获得。
对象组合要求被组合的对象具有良好定义的接口。
5.只根据抽象类中定义的接口来操纵对象有什么好处?答:1) 客户无须知道他们使用对象的特定类型,只须对象有客户所期望的接口。
2) 客户无须知道他们使用的对象是用什么类来实现的,他们只须知道定义接口的抽象类。
五、应用题(分值15)公司架构:经理、工程师、技师和后勤人员都是公司的雇员,经理管理工程师、技师和后勤人员。
高层经理领导较低级别的经理。
典型层次图如下:可以使用哪种设计模式实现公司的层级关系?并说明为什么?组合模式,第一,其公司关系架构为树形结构;第二,其表示了部分-整体关系(自己扩展)1. 在观察者模式中,表述错误的是( C )C. 观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。
2. 对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:( D )D. 以上方案错误3. 下列模式属于结构型设计模式的是( AB )A. Composite B. 享元(Flyweight)模式4. 关于继承表述错误的是:( D )D. 继承本质上是“白盒复用”,对父类的修改,不会影响到子类。
5. 对于依赖倒转的表述错误的是(C)C. 从选项B的角度论述,一个对象可以有多个接口。
6. 可以使用哪一种设计模式限制类的实例唯一?( D )D.单体模式7. Java数据库连接库JDBC用到哪种设计模式( B )?B.工厂方法8. 关于运用GOF工厂方法的效果Consequences,说法不正确的是(C)有利于产品的一致性8. 在应用程序中可用哪些设计模式分离出算法?( B )B. 策略模式9. 工厂方法也称为( D )D. 虚构造器10. 可以使用哪种设计模式将抽象和实现解耦,使得抽象和实现可以独自变化?( B )桥接模式1. 面向对象的七条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(迪米特法则),(依赖倒转),(单一原则),(接口隔离)。
2. 在存在继承关系的情况下,方法向(超类)方向集中,而数据向(子类)方向集中。
3. 适配器模式,分为类的适配器和对象的适配器两种实现。
其中类的适配器采用的是(继承)关系,而对象适配器采用的是(组合聚合)关系。
4. 设计模式的四个基本要素是(名字),(意图),(问题)和(解决方案)。
5. .创建型模式的根本意图是要把(对象的创建)和(使用分离)的责任进行分离,从而降低系统的(耦合度)。
6. 工厂模式分为(简单工厂),( 工厂方法),( 抽象工厂)三种类型。
7. 门面模式是( 迪米特)法则的典型运用8. MVC模型的基本工作原理是基于( 观察者)模式,实现是基于(命令)模式9. 设计模式的思想根源是(开闭)基本原则的宏观运用,本质上是没有任何模式的,发现模式的人永远是大师,而死守模式的人,最对只能是一个工匠.1. 在MVC模型中M、V、C分别指什么?简述它们之间的关系?M: 模型(Model), V:视图(View) C:控制Controller)。
MVC模式的目的就是实现Web系统的职能分工。
Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。
View层用于与用户的交互,通常用JSP来实现。
Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
2. 什么是开闭原则?软件实体应当对扩展开放,对修改关闭,软件系统中包含的各种组件,例如模块(Modules)、类(Classes)以及功能(Functions)等,应该在不修改现有代码的基础上,引入新功能。
开闭原则中“开”,是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的;开闭原则中“闭”,是指对于原有代码的修改是封闭的,即不应该修改原有的代码。
3.设计数据库的系统日志,要考虑使用哪些设计模式?答:命令模式,备忘录模式,外观模式4. 使用工厂模式的主要原因是什么?工厂模式定义:提供创建对象的接口. 因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。
5、猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒问:(1)设计可能用到什么设计模式?(2)画出其类图。
观察者模式分析:要有联动性,老鼠和主人的行为是被动的;考虑可扩展性,猫的叫声可能引起其他联动效应。
一、多项选择题(1)以下是模式的基本要素的是(ABCD)A名称B意图C)解决方案D)参与者和协作者(2)常用的描述设计模式的格式有(ABCD)A)意图B)动机C)适用性D)结构(3)以下哪些问题通过应用设计模式能够解决(AD)A指定对象的接口D设计应支持变化(4)面向对象系统中功能复用的最常用技术是( AB )。
A)类继承B)对象组合(5)常用的基本设计模式可分为( A )。
A)创建型、结构型和行为型(6)以下关于创建型模式说法正确的是(A )。
A)创建型模式关注的是对象的创建(7)以下属于创建型模式的是(AC )。
A)抽象工厂(Abstract Factory)模式 C)单例(Singleton)模式(8) ( C )模式是利用一个对象,快速生成一批对象。
C)原型(Prototype)模式(9)在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。
主要体现在( AD )。
A)适配器(Adapter)模式D)桥接(Bridge)模式(10)结构型模式中最体现扩展性的几种模式是( C ) C)装饰(Decorator)模式(11)行为类模式使用( C )在类间分派行为。
C)对象组合(12)以下属于行为对象模式的是(ABCD ) A)模板(Template Method)模式 B)迭代器(Iterator)模式C)命令(Command)模式D)观察者(Observer)模式(13)封装分布于多个类之间的行为的模式是( C ) C)访问者(Visitor)模式(14)Observer(观察者)模式适用于(C)。
(C)当一个对象必须通知其它对象,而它又不能假定其它对象是谁。
也就是说你不希望这些对象是紧耦合的。
(15)Java的异常处理机制可理解为哪一种行为模式( C )。
C)职责链(Chain of Responsibility)模式二、填空题(分值20)1.(单一职责)原则的核心思想是系统中的每一个对象都应该只有一个单独的职责,而所有对象所关注的就是自身职责的完成。
2.(开闭)原则的核心思想是一个对象对扩展开放,对修改关闭;实现此原则的关键就在于(抽象)、分离出(扩展)部分和(修改)部分。
3.(里氏替换)原则的核心思想是在任何父类出现的地方都可以用它的子类来替代。
4.(依赖倒置)原则的核心思想是要依赖于抽象,而不要依赖于具体的实现。
5.(接口隔离)原则的核心思想是不应该强迫客户程序依赖于他们不用的方法。
即一个接口不需要提供太多的行为,应该只提供一种对外的功能,不应该把所有的操作都封装在一个接口中。
6.(迪米特)原则的核心思想是一个对象应当对其它对象尽可能少的了解。
或者说,只和你的朋友说话。
这样一些对象可以看做朋友:当前对象本身、通过方法的参数传递进来的对象、当前对象所创建的对象、当前对象的实例变量所引用的对象和方法内所创建或者实例化的对象。
7.(优先使用组合)原则的核心思想是优先使用组合而非继承。
8.设计模式应该面向(对象)编程三、判断题(分值10)1.单一职责原则表现在面向对象的程序中就是“高内聚、低耦合”。