您好,欢迎访问三七文档
(1)以下是模式的基本要素的是。ABCDA)名称B)意图C)解决方案D)参与者和协作者(2)常用的描述设计模式的格式有。ABCDA)意图B)动机C)适用性D)结构(3)以下哪些问题通过应用设计模式能够解决。ADA)指定对象的接口B)排除软件BUGC)确定软件的功能都正确实现D)设计应支持变化(4)面向对象系统中功能复用的最常用技术是。ABA)类继承B)对象组合C)使用抽象类D)使用实现类(5)以下属于行为对象模式的是。ABCDA)模板(TemplateMethod)模式B)迭代器(Iterator)模式C)命令(Command)模式D)观察者(Observer)模式(6)以下属于创建型模式的是。ACA)抽象工厂(AbstractFactory)模式B)合成(Composite)模式C)单例(Singleton)模式D)桥接(Bridge)模式(7)在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在。ADA)适配器(Adapte)模式B)合成(Composite)模式C)原型(Prototype)模式D)桥接(Bridge)模式(8)单例模式中,两个基本要点(ab)和单子类自己提供单例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(观察者)模式适用于。CA)当一个抽象模型存在两个方面,其中一个方面依赖于另一方面,将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。B)当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变时。C)当一个对象必须通知其它对象,而它又不能假定其它对象是谁。也就是说你不希望这些对象是紧密耦合的。D)一个对象结构包含很多类对象,它们有不同的接口,而想对这些对象实施一些依赖于其具体类的操作。(13)Java的异常处理机制可理解为哪一种行为模式。CA)观察者(Observer)模式B)迭代器(Iterator)模式C)职责链(ChainofResponsibility)模式D)策略(Strategy)模式(14)结构型模式中最体现扩展性的几种模式是。CA)适配器(Adapte)模式B)合成(Composite)模式C)装饰(Decorator)模式D)桥接(Bridge)模式(15)行为类模式使用在类间分派行为。CA)接口B)继承机制C)对象组合D)委托(16)以下哪个模式是利用一个对象,快速地生成一批对象。CA)抽象工厂(AbstractFactory)模式B)合成(Composite)模式C)原型(Prototype)模式D)桥接(Bridge)模式1、设计模式一般用来解决什么样的问题(a)A.同一问题的不同表相B不同问题的同一表相C.不同问题的不同表相D.以上都不是2、下列属于面向对象基本原则的是(c)A.继承B.封装C.里氏代换D都不是3、Open-Close原则的含义是一个软件实体(a)A.应当对扩展开放,对修改关闭.B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(a)模式。A.创建型B.结构型C行为型D.以上都可以5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是(d)的表述A.开-闭原则B.接口隔离原则C.里氏代换原则D.依赖倒转原则6、依据设计模式思想,程序开发中应优先使用的是(a)关系实现复用。A,委派B.继承C创建D.以上都不对7、设计模式的两大主题是(d)A.系统的维护与开发B对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展8、单例模式中,两个基本要点(ab)和单子类自己提供单例A.构造函数私有B.唯一实例C.静态工厂方法D.以上都不对9、下列模式中,属于行为模式的是(b)A.工厂模式B观察者C适配器以上都是10、“不要和陌生人说话”是(d)原则的通俗表述A.接口隔离B.里氏代换C.依赖倒转D.迪米特:一个对象应对其他对象尽可能少的了解11、构造者的的退化模式是通过合并(c)角色完成退化的。A.抽象产品B产品C创建者D使用者12、单子(单例,单态)模式类图结构如下:下列论述中,关于”0..1”表述的不正确的是(d)A.1表示,一个单例类中,最多可以有一个实例.B.”0..1”表示单例类中有不多于一个的实例C.0表示单例类中可以没有任何实例D.0表示单例类可以提供其他非自身的实例13、对象适配器模式是(a)原则的典型应用。A.合成聚合复用原则B.里式代换原则C.依赖倒转原则D.迪米特法则14、静态工厂的核心角色是(a)A.抽象产品B.具体产品C.静态工厂D.消费者15、下列关于静态工厂与工厂方法表述错误的是:(a)A.两者都满足开闭原则:静态工厂以ifelse方式创建对象,增加需求的时候会修改源代码B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法中C.不能形成静态工厂的继承结构D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。16、在观察者模式中,表述错误的是(c)A.观察者角色的更新是被动的。B.被观察者可以通知观察者进行更新C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。D.以上表述全部错误。17.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:(d)A.创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B行为不完全一致的问题。B.将B到A的继承关系改组成委派关系。C.区分是“IS-a”还是”Has-a”。如果是“Is-a”,可以使用继承关系,如果是”Has-a”应该改成委派关系D.以上方案错误18.对象组合的有点表述不当的是(d)A.容器类仅能通过被包含对象的接口来对其进行访问。B.“黑盒”复用,封装性好,因为被包含对象的内部细节对外是不可见。C.通过获取指向其它的具有相同类型的对象引用,可以在运行期间动态地定义(对象的)组合D.造成极其严重的依赖关系。19.关于继承表述错误的是:(d)A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。B.泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加属性和方法来进行实现的扩展。C.破坏了封装性,因为这会将父类的实现细节暴露给子类。D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。20.对于依赖倒转的表述错误的是(e)A.依赖于抽象而不依赖于具体,也就是针对接口编程。B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法集合。C.从选项B的角度论述,一个对象可以有多个接口。D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。E.此题没有正确答案。填空1.面向对象的六条基本原则包括:开闭原则,里式代换原则,合成聚合原则以及(依赖倒转),(迪米特法则),(单一原则),(接口隔离)。2.在存在继承关系的情况下,方法向(超类)方向集中,而数据向(子类)方向集中。3.适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是(继承)关系,而对象适配器采用的是(组合聚合)关系。4.设计模式的基本要素有(名字),(意图),(问题),(解决方案),(参与者与协作者),(实现),(一般性结构)。5.创立型模式的根本意图是要把(对象的创建)和(使用分离)的责任进行分离,从而降低系统的(耦合度)。6.工厂模式分为(简单工厂),(工厂方法),(抽象工厂)三种类型7.门面模式是(迪米特)法则的典型运用8.MVC模型的基本工作原理是基于(观察者)模式,实现是基于(命令)模式9.设计模式的思想根源是(开闭)基本原则的宏观运用,本质上是没有任何模式的,发现模式的人永远是大师,而死守模式的人,最对只能是一个工匠.10.MVC中使用的模式两种(Observer)观察者模式(Strategy)策略模式(英文单词)判断1.抽象不应该依赖于细节,细节应当依赖于抽象。错2.大多数设计模式还让软件更具有可修改性。对3.Open-Close原则的含义是一个软件实体应当对扩展开放,对修改关闭。对4.常用的设计模式可分为过程型、创建型和结构型。错5.Adapter模式和Fa?ade模式总是在别的什么东西创造的场景中被定义。错6.Strategy模式使得算法可独立于使用它的客户而变化。对7.从Strategy模式的概念上来说,所有算法都做相同的工作,且拥有相同的实现。错8.Strategy(策略)模式是一种定义算法家族的方法。对9.Decorator(装饰)模式的意图是为一个对象连接附加的职责。错10.每个Decorator对象在被装饰的功能之前或之后执行自己的附加功能。对11.适配器模式属于创建型模式。错12.在设计模式中,“效果”只是指“原因和结果”。对13.设计模式使代码编制不能真正工程化。错14.设计模式的两大主题是系统复用与系统扩展。对15.Fa?ade(外观)模式不仅可以为方法调用创建更简单的接口,还可以减少客户必须处理的对象数量。对16.外观模式,当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。错17.Fa?ade模式为子系统中的一组接口提供的界面可能不一致。错18.Fa?ade外观模式只能为方法调用创建更简单的接口,不能减少客户必须处理的对象数量。19.对象适配器模式是合成聚合复用原则的典型应用。对20.Adapter模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。对名词解释1.设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。2.模板模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。3.模式就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。4.内聚度模块内部各成分彼此结合的紧密程度。5.什么是设计模式?设计模式的目标是什么?设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。6.设计模式的基本要素有哪些?名称,意图,问题,解决方案,参与者和协作者,效果,实现,GOF参考。7.设计模式中一般都遵循的原则有什么?开-闭原则,根据场景进行设计原则,优先组合原则,包容变化原则。8.四人团针对“创建优秀面向对象设计”建议了哪些策略?针对接口编程,优先使用对象组合而不是类继承,找到并封装变化点。简答题1.什么是设计模式?设计模式的目标是什么?设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。2.Strategy模式的意图是什么吗?它有哪些效果?意图是让你可以使用不同的业务规则或算法-----取决于它们出场的场景。效果有:Strategy(策略)模式定义了一系列的算法;switch语句或条件语句得到了避免;你必须以相同的方式调用所有的算法(它们必须拥有相同的接口)ConcreteStrategies与Context之间的交互可能需要在Context中加入getState之类的方法。3.Strate
本文标题:设计模式-复习题
链接地址:https://www.777doc.com/doc-5460318 .html