《软件设计与体系结构》考试复习题库(含答案)_第1页
《软件设计与体系结构》考试复习题库(含答案)_第2页
《软件设计与体系结构》考试复习题库(含答案)_第3页
《软件设计与体系结构》考试复习题库(含答案)_第4页
《软件设计与体系结构》考试复习题库(含答案)_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1《软件设计与体系结构》考试复习题库(含答案)一、单选题1.以下意图那个是用来描述MAND(命令)?()A、将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作B、定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。C、为其他对象提供一种代理以控制对这个对象的访问。D、保证一个类仅有一个实例,并提供一个访问它的全局访问点。答案:A2.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。A、创建型B、结构型C、行为型D、以上都可以答案:A3.123.关于模式适用性,在以下情况不适合使用PROXY(代理)模式?()A、你想使用一个已经存在的类,而它的接口不符合你的需求。B、根据需要创建开销很大的对象C、在需要用比较通用和复杂的对象指针代替简单的指针的时候D、取代了简单的指针,它在访问对象时执行一些附加操作。答案:A4.设计模式一般用来解决什么样的问题()A、同一问题的不同表相B、不同问题的同一表相C、不同问题的不同表相D、以上都不是答案:A5.实现部分各不相同,但都可以通过一个通用接口被访问是()模式中的包容变化。A、BridgeB、AbstractFactoryC、AdapterD、Facade答案:A6.125.关于模式适用性,在以下情况不适合使用MAND(命令)模式?()A、抽象出待执行的动作以参数化某对象,使用过程语言中的回调(callback)函数表达这种参数化机制。B、Java语言中的:AWT的事件处理C、在需要用比较通用和复杂的对象指针代替简单的指针的时候D、一个系统需要支持交易(transaction).一个交易结构封装了一组数据更新命令.答案:C7.Decorator(装饰)模式的意图是:()。A、定义一系列的算法,把它们一个个的封装起来,并且使它们可相互替换。B、为一个对象动态连接附加的职责。C、你希望只拥有一个对象,但不用全局对象来控制对象的实例化。D、在对象之间定义一种一对多的依赖关系,这样当一个对象的状态改变时,所有依赖于它的对象都将得到通知并自动更新。答案:B8.以下叙述不正确的是()。A、switch语句可能导致“分支蔓延”。B、C++中的函数指针和C#中的委托都可以用来将代码隐藏在精巧、紧凑、内聚的函数中。C、使用继承可以实现复用。D、作者认为复用是程序开发中最重要的考虑因素。答案:D9.单例模式(Singleton)(装饰)模式的意图是:()。A、定义一系列的算法,把它们一个个的封装起来,并且使它们可相互替换。B、为一个对象动态连接附加的职责。C、你希望只拥有一个对象,但不用全局对象来控制对象的实例化。D、在对象之间定义一种一对多的依赖关系,这样当一个对象的状态改变时,所有依赖于它的对象都将得到通知并自动更新。答案:C10.128.关于模式适用性,在以下情况不适合使用TEMPLATEMETHOD(模板方法)模式?()A、一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。B、当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变。C、各子类中公共的行为应被提取出来并集中到一个公共父类中以避免代码重复。首先识别现有代码中的不同之处,并且将不同之处分离为新的操作。最后,用一个调用这些新的操作的模板方法来替换这些不同的代码。D、控制子类扩展。模板方法只在特定点调用“hook”操作(参见效果一节),这样就只允许在这些点进行扩展。答案:B11.127.关于模式适用性,在以下情况不适合使用STRATEGY(策略)模式?()A、当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之,你不希望这些对象是紧密耦合的。B、许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。C、需要使用一个算法的不同变体。例如,你可能会定义一些反映不同的空间/时间权衡的算法。当这些变体实现为一个算法的类层次时,可以使用策略模式。D、算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构。答案:A12.按照四人团的说法,Bridge模式的意图是()。A、将抽象部分与它的实现部分相分离,使它们可以独立地变化.B、将抽象部分与它的实现部分相分离,但它们不能独立地变化.C、将抽象部分与它的实现部分相结合,但它们可以独立地变化.D、将抽象部分与它的实现部分相结合,使它们相互依赖.答案:A13.FactoryMethod(工厂方法)模式的意图是:()A、定义一个用于创建对象的接口,让子类决定实例化哪一个类。将实例化延迟到其子类。B、为一个对象动态连接附加的职责。C、你希望只拥有一个对象,但不用全局对象来控制对象的实例化。D、定义一个操作中的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。答案:A14.根据《设计模式》,有关抽象工厂模式的定义,准确的说法是()。A、工厂方法是一个抽象类的派生类实现的。B、要创造的东西本身是抽象定义的,工厂方法可以灵活实现。C、抽象工厂只关注概念,而具体工厂创建抽象工厂。D、抽象工厂派生出具体工厂对象和实现方法。答案:B15.以下叙述不对的是()。A、学习设计模式告诉我们要尽可能使用继承.B、学习设计模式通常可以找到比仅采用面向对象方法更好的解决方案.C、学习设计模式告诉我们要尽可能使用组合.D、Bridge模式适用于一个抽象部分拥有不同的实现部分的情形答案:A16.以下意图那个是用来描述SINGLETON(单件)?()A、将一个类的接口转换成客户希望的另外一个接口。该模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作B、保证一个类仅有一个实例,并提供一个访问它的全局访问点。C、定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。D、用一个中介对象来封装一系列的对象交互。答案:B17.作者在《设计模式》中考虑变化的设计方式应遵循的原则中,哪一条是错误的()。A、针对接口进行编程,而不是针对实现编程。B、优先使用对象组合,而不是继承。C、对需求中可能变化的部分,应重新设计。D、在不引起重新设计的前提下,对变化的概念进行封装。答案:C18.Façade(外观)模式的意图是()。A、希望简化现有系统的使用方法,你需要定义自己的接口。B、将一个无法控制的现有对象与一个特定借口相匹配。C、将一组实现部分从另一组使用它们的对象中分离出来。D、你需要为特定的客户(或情况)提供特定系列的对象。答案:A19.120.关于模式适用性,在以下情况不适合使用POSITE(组合)模式?()A、你想使用一个已经存在的类,而它的接口不符合你的需求。B、你想表示对象的部分-整体层次结构。C、当一个类的实例只能有几个不同状态组合中的一种时D、一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。答案:B20.静态工厂的核心角色是()。A、抽象产品B、具体产品C、静态工厂D、消费者答案:A21.以下意图那个是用来描述BUILDER(生成器)?()A、定义一个用于创建对象的接口,让子类决定实例化哪一个类B、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。C、保证一个类仅有一个实例,并提供一个访问它的全局访问点。D、运用共享技术有效地支持大量细粒度的对象。答案:B22.下列模式中,属于行为模式的是()。A、工厂模式B、观察者C、适配器D、以上都是答案:B23.保证一个类仅有一个实例,并提供一个访问它的全局访问点。这句话是对下列哪种模式的描述()。A、外观模式(Facade)B、策略模式(Strategies)C、适配器模式(Adapter)D、单例模式(Singleton)答案:D24.下列关于静态工厂与工厂方法表述错误的是:()A、两者都满足开闭原则:静态工厂以ifelse方式创建对象,增加需求的时候会修改源代码。B、静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法是分开的。C、不能形成静态工厂的继承结构。D、在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。答案:A25.Strategy(策略)模式的意图是:()。A、定义一系列的算法,把它们一个个的封装起来,并且使它们可相互替换。B、为一个对象动态连接附加的职责。C、你希望只拥有一个对象,但不用全局对象来控制对象的实例化。D、在对象之间定义一种一对多的依赖关系,这样当一个对象的状态改变时,所有依赖于它的对象都将得到通知并自动更新。答案:A26.关于模式适用性,在以下情况不适合使用FactoryMethod模式?()A、一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现。B、当一个类希望由它的子类来指定它所创建的对象的时候。C、当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。D、当一个类不知道它所必须创建的对象的类的时候。答案:A27.在根据不同的机器选择设备驱动程序的案例中,以下叙述不准确的是()。A、可以使用switch语句选择驱动程序.B、可以使用继承来实现选择驱动程序,但它可能会产生类组合爆炸问题..C、可以选择抽象工厂模式实现,且能避免组合爆炸问题.D、使用继承的解决方案要比switch语句有更多的优势.答案:A28.以下意图那个是用来描述ABSTRACTFACTORY(抽象工厂)?()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。C、将一个类的接口转换成客户希望的另外一个接口。D、表示一个作用于某对象结构中的各元素的操作。答案:A29.()模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。A、Adapter(适配器)模式B、Bridge(桥接)模式C、Strategy(策略)模式D、Facade(外观)模式答案:D30.下面属于结构模式的有()。A、察者模式(Observer)B、单例模式(Singleton)C、策略模式(Strategy)D、外观模式(Façade)答案:D31.以下意图那个是用来描述FACTORYMETHOD(工厂方法)?()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。B、表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。C、定义一个用于创建对象的接口,让子类决定实例化哪一个类。该模式使一个类的实例化延迟到其子类。D、定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。答案:C32.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。A、创建型B、结构型C、行为型D、以上都可以答案:A33.以下哪一条是Alexander的场景原则:()。A、在对象实例化之前,要考虑它的实例化。B、当你有一个涉及创建对象的设计模式时,对象应为模式提供场景。C、模式的选取与场景无关。D、在一个系统中,由于模式之间的作用是相互的,不存在最高级别的模式。答案:B34.以下意图那个是用来描述ITERATOR(迭代器)?()A、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。B、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。C、提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。D、运用共享技术有效地支持大量细粒度的对象。答案:C35.下列模式中,属于行为模式的是()。A、外观模式B、观察者模式C、单例模式D、桥接模式答案:B36.Bridge(桥接)模式的意图是()。A、希望简化现有系统的使用方法。你需要定义自己的借口。B、将一个无法控制的现有对象与一个特定借口相匹配。C、将一组实现部分从另一组使用它们的对象中分离出来。D、你需要为特定的客户(或情况)提供特定系列的对象。答案:C37.Open-Close原则的含义是一个软件实体()。A、应当对扩展开放,对修改关闭.B、应当对修改开放,对扩展关闭C、应当对继承开放,对修改关闭D、以上都不对E、:AF、程度:中G、解析:H、:单选题

I、r>43.典型情况下,()模式不包容变化。

J、Bridge

K、AbstractFactory

L、Adapter答案:D38.Observer模式不适用于()。A、当一个抽象模型存在两个方面,其中一个方面依赖于另一方面,将这二者封装在独立的对象中以使它们可以各自独立的改变和复用。B、当对一个对象的改变需要同时改变其他对象,而不知道具体有多少个对象有待改变时。C、当一个对象必须通知其它对象,而它又不能假定其它对象是谁,也就是说你不希望这些对象是紧耦合的。D、一个对象结构包含很多类对象,它们有不同的接口,而想对这些对象实施一些依赖于其具体类的操作。答案:D39.119.关于模式适用性,在以下情况不适合使用Bridge(桥接)模式?()A、你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。B、类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。C、对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译。D、客户程序与抽象类的实现部分之间存在着很大的依赖性。答案:A40.将一个类的接口转换成客户希望的另一个接口。这句话是对下列哪种模式的描述()。A、策略模式(Strategies)B、桥接模式(Bridge)C、适配器模式(Adapter)D、单例模式(Singleton)答案:C41.以下意图那个是用来描述FACADE(外观)?()A、为子系统中的一组接口提供一个一致的界面,本模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。C、保证一个类仅有一个实例,并提供一个访问它的全局访问点。D、在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。答案:A42.以下不属于创建型模式是?()A、PROXY(代理)B、BUILDER(生成器)C、PROTOTYPE(原型)D、SINGLETON(单件)答案:A43.以下哪种模式不属于创建型模式()。A、单例模式(Bridge)B、工厂方法模式(FactoryMethod)C、策略模式(Strategies)D、抽象工厂模式(Decorator)答案:C44.以下意图那个是用来描述CHAINOFRESPONSIBILITY(职责链)?()A、为子系统中的一组接口提供一个一致的界面,本模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。B、提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。C、在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。D、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。答案:D45.下面不属于结构模式的有()。A、适配器模式(Adapter)B、单例模式(Singleton)C、桥接模式(Bridge)D、装饰模式(Decorator)答案:B46.根据Coplien关于共同点/变化点的说法,下面哪个是正确的()。A、共同点分析就是寻找一个不会随时间变化的结构,而变化点分析就是捕捉变化的内容.B、共同点分析是寻找家族成员的相同元素.C、在一个系统中,共同点和不同点的关系是相对的,可以互相转化.D、共同点通常由父类实现,而变化点通常由子类实现.答案:B47.以下意图哪个是用来描述MEMENTO(备忘录)?()A、在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。B、保证一个类仅有一个实例,并提供一个访问它的全局访问点。C、将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作D、提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。答案:A48.以下不属于结构型模式是?()A、POSITE(组合)B、ADAPTER(适配器)C、FLYWEIGHT(享元)D、SINGLETON(单例)答案:D49.关于模式适用性,在以下情况可以使用builder模式?()A、当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。B、当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。C、当构造过程必须允许被构造的对象有不同的表示时。D、一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。答案:B50.关于抽象工厂模式(AbstractFactory),以下叙述正确的是()。A、抽象工厂相对具体工厂而言,可以理解为抽象工厂是抽象类,而具体工厂是对抽象工厂的继承,是抽象工厂的子类。B、抽象工厂类不能实例化,具体工厂可以实例化。C、抽象工厂定义接口,具体工厂实现某一接口。D、抽象工厂模式将使用哪些对象的规则与如何使用这些对象的逻辑有效地结合起来。答案:A51.关于抽象工厂模式,以下叙述不正确的是()A、客户对象不需要知道向谁请求所需的对象和如何使用这些对象。B、抽象工厂类通过为每个不同类型的对象定义一个方法,来指定实例化哪个对象。C、具体工厂对象负责指定哪些对象要实例化。D、将抽象工厂模式和适配器模式结合在一起,可以将概念相似的对象当作同种对象处理。答案:A52.下列属于设计模式基本原则的是()。A、继承B、封装C、开放-封闭D、都不是答案:C53.下面不属于创建型模式的有()。A、抽象工厂模式(AbstractFactory)B、工厂方法模式(FactoryMethod)C、适配器模式(Adapter)D、单例模式(Singleton)答案:C54.以下意图那个是用来描述ADAPTER(适配器)?()A、将一个类的接口转换成客户希望的另外一个接口。本模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。B、定义一个用于创建对象的接口,让子类决定实例化哪一个类C、表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。D、将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。答案:A55.以下意图那个是用来描述PROTOTYPE(原型)?()A、允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。B、表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。C、定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。D、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。答案:D56.以下意图那个是用来描述FLYWEIGHT(享元)?()A、将抽象部分与它的实现部分分离,使它们都可以独立地变化。B、运用共享技术有效地支持大量细粒度的对象。C、动态地给一个对象添加一些额外的职责。D、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。答案:B57.若系统中的某子模块需要为其他模块()提供访问不同数据库系统的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,在打开数据库,最后对数据库进行查询,设计模式可抽象出相同的数据库访问过程。A、外观B、装饰C、单间D、模板方法答案:B58.设计模式的原理?()A、面对实现编程B、面向对象编程C、面向接口编程D、面向组合编程答案:C59.以下意图那个是用来描述POSITE(组合)?()A、为其他对象提供一种代理以控制对这个对象的访问。B、运用共享技术有效地支持大量细粒度的对象。C、将对象组合成树形结构以表示“部分-整体”的层次结构。D、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。答案:C60.Decorator模式的描述正确的是()。A、该模式的意图是动态地给一个对象添加一些额外的职责。就增加功能来说,该模式相比生成子类不够灵活。B、适用于在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。C、该模式的意图是将对象组合成树形结构以表示“部分-整体”的层次结构。该模式使得用户对单个对象和组合对象的使用具有一致性。D、该模式适用性是你想表示对象的部分-整体层次结构。答案:B61.以下属于创建型模式的是()。A、抽象工厂模式(AbstractFactory)B、装饰模式(Decorator)C、外观模式(Facade)D、桥接模式(Bridge)答案:A62.关于模式适用性,在以下情况不适合使用AbstractFactory模式?()A、一个系统要独立于它的产品的创建、组合和表示时。B、一个系统要由多个产品系列中的一个来配置时。C、当你要强调一系列相关的产品对象的设计以便进行联合使用时。D、当一个类希望由它的子类来指定它所创建的对象的时候。答案:D63.以下哪一条不属于设计模式的基本原则()。A、开放-封闭原则B、根据场景进行设计的原则C、优先使用继承的原则D、包容变化的原则答案:C64.在观察者模式中,表述错误的是()。A、观察者角色的更新是被动的。B、被观察者可以通知观察者进行更新C、观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。D、以上表述全部错误。答案:C解析:本题型:单选题65.以下意图那个是用来描述INTERPRETER(解释器)?()A、将抽象部分与它的实现部分分离,使它们都可以独立地变化。B、给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。D、为其他对象提供一种代理以控制对这个对象的访问。答案:B66.关于模式适用性,在以下情况不适合使用PROTOTYPE模式?()A、当要实例化的类是在运行时刻指定时,例如,通过动态装载B、当你要强调一系列相关的产品对象的设计以便进行联合使用时C、为了避免创建一个与产品类层次平行的工厂类层次时D、当一个类的实例只能有几个不同状态组合中的一种时答案:B67.以下关于结构型模式说法不正确的是。()A、结构型模式可以在不破坏类封装性的基础上,实现新的功能。B、结构型模式主要用于创建一组对象。C、结构型模式可以创建一组类的统一访问接口。D、结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。答案:B68.以下哪些问题通过应用设计模式不能够解决。()A、指定对象的接口B、针对接口编程C、确定软件的功能都正确实现D、设计应支持变化答案:C69.以下意图哪个是用来描述VISITOR(访问者)?()A、定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。B、表示一个作用于某对象结构中的各元素的操作。C、在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。D、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。答案:B70.观察者模式定义了一种()的依赖关系。A、一对多B、一对一C、多对多D、以上都有可能答案:A71.下面属于创建型模式的有()。A、抽象工厂(AbstractFactory)模式B、外观(Facade)模式C、适配器(Adapter)模式D、桥接(Bridge)模式答案:A72.以下意图哪个是用来描述STATE(状态)?()A、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。B、提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。C、允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。D、在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。答案:C73.关于模式适用性,在以下情况适合使用Singleton模式?()A、当一个类不知道它所必须创建的对象的类的时候。B、当一个类的实例只能有几个不同状态组合中的一种时C、当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。D、当一个类希望由它的子类来指定它所创建的对象的时候。答案:C74.126.关于模式适用性,在以下情况不适合使用OBSERVER(观察者)模式?()A、当一个抽象模型有两个方面,其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。B、当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变。C、当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之,你不希望这些对象是紧密耦合的。D、在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。答案:D75.以下意图那个是用来描述DECORATOR(装饰)?()A、运用共享技术有效地支持大量细粒度的对象。B、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。C、将抽象部分与它的实现部分分离,使它们都可以独立地变化。D、动态地给一个对象添加一些额外的职责。答案:D76.121.关于模式适用性,在以下情况不适合使用DECORATOR(装饰)模式?()A、在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。B、处理那些可以撤消的职责。C、客户程序与抽象类的实现部分之间存在着很大的依赖性。D、当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。答案:C77.下面属于创建型模式的有()。A、桥接模式(Bridge)B、工厂方法模式(FactoryMethod)C、策略模式(Strategies)D、观察者模式(Decorator)答案:B78.外观模式的作用是()。A、当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。B、为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用。C、保证一个类仅有一个实例,并提供一个访问他的全局访问点。D、在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。答案:B79.单例模式的作用是()。A、当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。B、为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用。C、保证一个类仅有一个实例,并提供一个访问他的全局访问点。D、单例模式仅仅应用于多线程应用程序中。答案:C80.最高级别的模式约束其他的模式的不正确的叙述是()。A、最高级别的模式决定其它模式的作用。B、最高级别的模式是最重要的,其他的模式是次要的。C、最高级别的模式为其它模式提供场景。D、最高级别的模式也可称为场景确定模式。答案:B81.

设计模式的两大主题是()A、系统的维护与开发B、对象组合与类的继承C、系统架构与系统开发D、系统复用与系统扩展答案:D82.策略模式针对一组算法,将每一个算法封装到具有()接口的独立的类中,从而使得它们可以相互替换。A、不同B、一样C、共同D、都不是答案:C83.以下对"开-闭"原则的一些描述错误的是?()A、"开-闭"原则与"对可变性的封装原则"没有相似性.B、找到一个系统的可变元素,将它封装起来,叫"开-闭"原则C、对修改关闭:是其原则之一D、从抽象层导出一个或多个新的具体类可以改变系统的行为,是其原则之一答案:A84.Adapter(适配器)模式的意图是()。A、希望简化现有系统的使用方法。你需要定义自己的借口。B、将一个无法控制的现有对象与一个特定借口相匹配。C、将一组实现部分从另一组使用它们的对象中分离出来。D、你需要为特定的客户(或情况)提供特定系列的对象。答案:B85.行为类模式使用()在类间分派行为。A、口B、承机制C、象组合D、托答案:B86.Strategy模式应遵循的原则中不正确的是()。A、对象都具有职责。B、职责不同的具体实现是通过多态的使用完成的。C、概念上相同的算法具有多个不同的实现,需要进行管理。D、优先使用组合而不是继承。答案:D87.AbstractFactory(抽象工厂)模式的意图是()。A、希望简化现有系统的使用方法。你需要定义自己的借口。B、将一个无法控制的现有对象与一个特定借口相匹配。C、将一组实现部分从另一组使用它们的对象中分离出来。D、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类答案:D88.

设计模式具有的优点()A、适应需求变化B、程序易于理解C、减少开发过程中的代码开发工作量D、简化软件系统的设计答案:A89.以下叙述不对的是()。A、Bridge模式是将抽象部分与它的实现部分分离,使它们可以独立地变化.B、Bridge模式是发现并封装不同点的极好例子.C、Bridge模式优先使用继承而不是组合.D、Bridge模式优先使用组合而不是继承.答案:C90.以下意图哪个是用来描述TEMPLATEMETHOD(模板方法)?()A、定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。B、为其他对象提供一种代理以控制对这个对象的访问。C、将抽象部分与它的实现部分分离,使它们都可以独立地变化。D、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。答案:A91.Singleton模式适用于()。A、当类有多个实例而且客户可以从一个众所周知访问点访问它时。B、当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。C、当构造过程必须允许被构造的对象有不同的表示时。D、生成一批对象时。答案:B92.关于工厂方法,以下叙述不正确的是()。A、FactoryMethod是一个用于帮助分配创建的责任的模式。B、FactoryMethod模式和AbstractFactory模式总是配合使用。C、FactoryMethod适用于将对象实例化的规则推迟到某个派生类的情形。D、FactoryMethod是属于创建型模式。答案:C93.对观察者模式,以下叙述不正确的是()。A、必须找出所有希望获得通知的对象。B、所有的观察者对象有相同的接口。C、如果观察者的类型相同,目标就可以轻易地通知它们。D、在大多数情况下,观察者负责了解自己观察的是什么,目标需要知道有哪些观察者依赖自己。答案:A94.下面属于行为模式的是()。A、抽象工厂模式(AbstractFactory)B、适配器模式C、策略模式(Strategy)D、外观模式(Façade)答案:C95.以下意图那个是用来描述BRIDGE(桥接)?()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。B、将抽象部分与它的实现部分分离,使它们都可以独立地变化。C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。D、动态地给一个对象添加一些额外的职责。答案:B96.对Alexander的模式哲学,以下叙述正确的是()。A、学习设计模式,可以完全解决软件开发中的变化情况.B、每个模式,可以无数次使用模式提供的解决方案,而不必再次重复同样的工作方式.C、设计模式总是可以为需求的变化提供更好的解决方案.D、设计模式描述一个在开发的软件环境中不断产生新的问题时,能提供很好的解决方案.答案:B97.应用设计模式的一个优点是()。A、适应需求变化B、程序易于理解C、减少开发过程中的代码开发工作量D、简化软件系统的设计答案:A98.在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主要体现在()。A、观模式(Facade)B、饰模式(Decorator)C、略模式(Strategies)D、接模式(Bridge)答案:D99.常用的设计模式可分为()。A、创建型、结构型和行为型B、对象型、结构型和行为型C、过程型、创建型和结构型D、抽象型、接口型和实现型答案:A100.以下意图那个是用来描述PROXY(代理)?()A、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。B、运用共享技术有效地支持大量细粒度的对象。C、为其他对象提供一种代理以控制对这个对象的访问。D、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。答案:C101.关于继承表述错误的是:()。A、继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。B、超类可以显式地捕获那些公共的属性和方法。子类则通过附加属性和方法来进行实现的扩展。C、在一定意义上说破坏了封装性,因为这会将父类的实现细节暴露给子类。D、继承本质上是“白盒复用”,对父类的修改,不会影响到子类。答案:D102.以下不属于行为型模式是?()A、MAND(命令)B、STRATEGY(策略)C、MEMENTO(备忘录)D、BRIDGE(桥接)答案:D103.以下对"开-闭"原则的一些描述错误的是?()A、"开-闭"原则与"对可变性的封装原则"没有相似性.B、

找到一个系统的可变元素,将它封装起来,叫"开-闭"原则C、

对修改关闭:是其原则之一D、从抽象层导出一个或多个新的具体类可以改变系统的行为,是其原则之一答案:A104.124.关于模式适用性,在以下情况不适合使用CHAINOFRESPONSIBILITY(职责链)模式?()A、有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定。B、在需要用比较通用和复杂的对象指针代替简单的指针的时候C、你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。D、可处理一个请求的对象集合应被动态指定。答案:B105.118.关于模式适用性,在以下情况不适合使用Adapter(适配器)模式?()A、你想使用一个已经存在的类,而它的接口不符合你的需求。B、你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。C、你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。D、如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象。答案:D106.以下意图那个是用来描述OBSERVER(观察者)?()A、将抽象部分与它的实现部分分离,使它们都可以独立地变化。B、定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。C、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。D、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。答案:B107.122.关于模式适用性,在以下情况不适合使用FLYWEIGHT(享元)模式?()A、一个应用程序使用了大量的对象。B、完全由于使用大量的对象,造成很大的存储开销。C、对象的大多数状态都可变为外部状态。D、你想使用一个已经存在的类,而它的接口不符合你的需求答案:D108.以下意图那个是用来描述MEDIATOR(中介者)?()A、提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。B、将抽象部分与它的实现部分分离,使它们都可以独立地变化。C、定义一个用于创建对象的接口,让子类决定实例化哪一个类。D、用一个中介对象来封装一系列的对象交互。答案:D109.作者在书中称“分析瘫痪”为()。A、因为问题的复杂性导致分析失败。B、因为问题的复杂性导致分析无法继续进行。C、过度分析或过度设计。D、错误分析引起的后果。答案:C110.以下有关AbstractFactory(抽象工厂)模式正确的是()。A、AbstractFactory的实例化方法就是具体工厂方法.B、AbstractFactory类和具体工厂方法可以分离,每个具体工厂负责一个抽象工厂方法接口的实现.C、由于AbstractFactory类和具体工厂方法可以分离,因此在实现时会产生更多的类.D、当问题存在相同的对象用于解决不同的情形时,应该使用抽象工厂模式.答案:B111.定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。这句话是对哪种模式的描述()。A、观察者模式(Observer)B、桥接模式(Bridge)C、适配器模式(Adapter)D、策略模式(Strategy)答案:D112.下面属于结构模式的有()。A、策略模式(Strategies)B、单例模式(Singleton)C、抽象工厂模式(AbstractFactory)D、装饰模式(Decorator)答案:D113.对继承层次太深可能导致的问题的叙述不正确的是()。A、继承层次太深导致紧内聚。B、继承层次太深导致弱内聚。C、继承层次太深导致紧耦合。D、继承层次太深会产生冗余,并使测试困难。答案:A114.对于观察者模式,以下叙述正确的是()。A、当对象之间存在依赖关系,就适宜采用观察者模式。B、如果对象之间的以来关系是固定的,采用观察者模式会带来负面影响。C、如果需要得到某事件通知的对象列表是变化的,不适宜采用观察者模式。D、以上叙述皆不正确。答案:B115.关于模式适用性,在以下情况不适合使用FACTORYMETHOD模式?()A、当一个类不知道它所必须创建的对象的类的时候。B、当一个类希望由它的子类来指定它所创建的对象的时候。C、当你提供一个产品类库,而只想显示它们的接口而不是实现时。D、当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。答案:C多选题1.7.Bridge模式有以下哪些优点?()A、分离接口及其实现部分B、提高可扩充性C、改变值以指定新对象D、实现细节对客户透明答案:ABD2.16.下面哪些是Strategy模式的优缺点?()A、相关算法系列B、一个替代继承的方法C、消除了一些条件语句D、改变对象外壳与改变对象内核答案:ABC3.13.关于模式适用性,在以下情况适合使用CHAINOFRESPONSIBILITY(职责链)模式?()A、有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定。B、在需要用比较通用和复杂的对象指针代替简单的指针的时候C、你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。D、可处理一个请求的对象集合应被动态指定。答案:ACD4.11.Decorator模式主要两个缺点主要有以下那些?()A、比静态继承更灵活B、避免在层次结构高层的类有太多的特征C、有许多小对象,很容易对它们进行定制,但是很难学习这些系统,排错也很困难。D、Decorator与它的ponent不一样,Decorator是一个透明的包装。答案:CD5.2.当应用FactoryMethod模式时要考虑下面哪些问题?()A、主要有两种不同的情况B、参数化工厂方法C、特定语言的变化和问题D、使用模板以避免创建子类答案:ABCD6.14.关于模式适用性,在以下情况适合使用MAND(命令)模式?()A、抽象出待执行的动作以参数化某对象,使用过程语言中的回调(callback)函数表达这种参数化机制。B、Java语言中的:AWT的事件处理C、在需要用比较通用和复杂的对象指针代替简单的指针的时候D、一个系统需要支持交易(transaction).一个交易结构封装了一组数据更新命令.答案:AB7.1.以下有关ABSTRACTFACTORY(抽象工厂)这种模式的一些优点和缺点描述正确的是?()A、它分离了具体的类B、它使得易于交换产品系列C、它有利于产品的一致性D、难以支持新种类的产品答案:ABCD8.9.我们在实现posite模式时需要考虑以下几个问题?()A、显式的父部件引用B、共享组件C、最大化ponent接口D、声明管理子部件的操作答案:ABCD9.3.下面列出Prototype模式的一些优点正确的是?()A、运行时刻增加和删除产品B、改变值以指定新对象C、减少子类的构造D、用类动态配置应用答案:ABCD10.使用Prototype原型模式时以下属于要考虑的问题有那些?()A、使用一个原型管理器B、实现克隆操作C、初始化克隆对象D、用类动态配置应用答案:ABC11.6.关于模式适用性,在以下情况适合使用FLYWEIGHT(享元)模式?()A、一个应用程序使用了大量的对象。B、完全由于使用大量的对象,造成很大的存储开销。C、对象的大多数状态都可变为外部状态。D、你想使用一个已经存在的类,而它的接口不符合你的需求答案:ABC12.8.备忘录模式有以下哪些效果?()A、保持封装边界B、它简化了原发器C、使用备忘录可能代价很高D、维护备忘录的潜在代价答案:ABCD13.15.下面哪些是访问者模式的优缺点?()A、访问者模式使得易于增加新的操作B、访问者集中相关的操作而分离无关的操作C、增加新的ConcreteElement类很困难D、通过类层次进行访问答案:ABCD14.10.Decorator模式主要两个优点有以下那些?()A、比静态继承更灵活B、避免在层次结构高层的类有太多的特征C、有许多小对象,很容易对它们进行定制,但是很难学习这些系统,排错也很困难。D、Decorator与它的ponent不一样,Decorator是一个透明的包装。答案:AB15.5.以下属于Singleton模式的优点是?()A、对唯一实例的受控访问B、允许对操作和表示的精化C、允许可变数目的实例D、比类操作更灵活答案:ABCD16.17.State模式有下面那些些效果?()A、它将与特定状态相关的行为局部化,并且将不同状态的行为分割开来B、它使得状态转换显式化C、通过类层次进行访问D、State对象可被共享答案:ABD17.18.Observer模式允许你独立的改变目标和观察者。你可以单独复用目标对象而无需同时复用其观察者,反之亦然。它也使你可以在不改动目标和其他的观察者的前提下增加观察者。下面是观察者模式其它一些优缺点:()A、它使得状态转换显式化B、支持广播通信C、意外的更新D、目标和观察者间的抽象耦合答案:BCD18.12.使用Decorator模式时应注意以下几点?()A、接口的一致性B、省略抽象的Decorator类C、保持ponent类的简单性D、改变对象外壳与改变对象内核答案:AB判断题1.决定需要哪个工厂对象,实际上是判断需要那个系列的对象。A、正确B、错误答案:A2.FactoryMethod(工厂方法)模式并不常用于定义框架的过程。A、正确B、错误答案:B3.Decorator(装饰)模式是为现有的功能动态添加附加功能的一种方法。A、正确B、错误答案:A4.Façade模式为子系统中的一组接口提供的界面可能不一致。A、正确B、错误答案:B5.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。A、正确B、错误答案:A6.Decorator(装饰)模式的意图是为一个对象连接附加的职责。A、正确B、错误答案:B7.变化点就是领域问题的特殊情形,而共同点则是指一般情形。A、正确B、错误答案:B8.大多数设计模式还让软件更具有可修改性。A、正确B、错误答案:A9.在创建设计以处理变化的过程中,应该优先使用类继承,而不是使用对象组合。A、正确B、错误答案:B10.Bridge模式就是为系统提供一种高内聚,松耦合的解决方案。A、正确B、错误答案:A11.Adapter模式和Façade模式总是在别的什么东西创造的场景中被定义。A、正确B、错误答案:B12.AbstractFactory(抽象工厂)模式确保系统总能根据当前的情况获得合适的对象。A、正确B、错误答案:A13.从Strategy模式的概念上来说,所有算法都做相同的工作,且拥有相同的实现。A、正确B、错误答案:B14.从本质上看,switch语句可以达到和抽象工厂相同的效果。A、正确B、错误答案:B15.Decorator(装饰)模式适用性是表示对象的部分-整体层次结构。A、正确B、错误答案:B16.Open-Close原则的含义是一个软件实体应当对扩展开放,对修改关闭。A、正确B、错误答案:A17.Strategy模式简化了单元测试,因为每个算法都有自己的类,可以通过接口进行单独测试。A、正确B、错误答案:A18.FactoryMethod(工厂方法)模式是一个很直观的模式,将会不断地重复使用。A、正确B、错误答案:A19.抽象工厂模式提供了一系列相关或相互依赖对象的接口且必须指定他们具体的类。A、正确B、错误答案:B20.单例模式确保某一个类具有多个实例,并自行实例化向整个系统提供这个实例。A、正确B、错误答案:B21.为了提高内聚和紧耦合,我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。A、正确B、错误答案:B22.对观察者模式,要求所有的Observer负责将自己注册到目标对象上。A、正确B、错误答案:A23.Strategy模式使得算法可独立于使用它的客户而变化。A、正确B、错误答案:A24.创建型模式关注的是组织类和对象的常用方法。A、正确B、错误答案:B25.Singleton(单件)模式的工作方式是拥有一个特定的方法,这个方法被用于实例化需要的对象。A、正确B、错误答案:A26.工厂方法模式中,子类负责定义创建对象的接口,父类则负责生成具体的对象。A、正确B、错误答案:B27.适配器模式属于创建型模式。A、正确B、错误答案:B28.抽象工厂模式简化了设计过程。A、正确B、错误答案:B29.当需要增加系统的功能时,应当采用Bridge模式。A、正确B、错误答案:B30.在设计模式中,“效果”只是指“原因和结果”。A、正确B、错误答案:A31.使用抽象工厂方法与优先使用组合是相矛盾的。A、正确B、错误答案:B32.当使用不同的规则处理算法,就可以采用Strategy模式。A、正确B、错误答案:B33.设计模式的两大主题是系统复用与系统扩展。A、正确B、错误答案:A34.一个Observer(观察者)模式可能只需要处理事件的某种特定情况。A、正确B、错误答案:A35.识别可能性不等于必须跟着可能性走。A、正确B、错误答案:A36.当有一个涉及创建对象的设计模式时,这些对象为这个模式提供场景。A、正确B、错误答案:A37.抽象工厂模式告诉我们,要针对接口而不是实现进行设计。A、正确B、错误答案:A38.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。A、正确B、错误答案:B39.常用的设计模式可分为过程型、创建型和结构型。A、正确B、错误答案:B40.对观察者模式,触发事件的对象——Subject对象不需要知道观察事件的所有对象。A、正确B、错误答案:A41.Strategy模式可以用不同的方式调用所有的算法。A、正确B、错误答案:B42.对观察者模式,Subject不知道与哪种观察者通信,Observer类封装了各种特定的Observer。A、正确B、错误答案:A43.Strategy(策略)模式是一种定义算法家族的方法。A、正确B、错误答案:A44.一个抽象工厂对象总是要和一个具体工厂方法对象相结合。A、正确B、错误答案:B45.在算法设计时,采用Strategy模式会增加大量的类。A、正确B、错误答案:A46.通过在问题领域中使用模式,可以用一种不同的方式来看待问题。A、正确B、错误答案:A47.Strategy(策略)模式的本质是在一个抽象类中封装一个算法并交替使用这些算法。A、正确B、错误答案:A48.只有在共同点分析定义的上下文中,变化点才有意义。A、正确B、错误答案:A49.当对象之间存在依赖关系时就应该使用Observer(观察者)模式。A、正确B、错误答案:B50.当依赖关系固定(或几乎固定)时,加入一个Observer(观察者)模式可能只会增加复杂性。A、正确B、错误答案:A51.抽象不应该依赖于细节,细节应当依赖于抽象。A、正确B、错误答案:B52.对象适配器模式是依赖倒转原则的典型应用。A、正确B、错误答案:B53.设计模式使代码编制不能真正工程化。A、正确B、错误答案:B54.Observer对象有多种,但都从Subject对象收集信息,并收集相应的操作结果。A、正确B、错误答案:B解析:本题型:判断题55.Singleton(单件)模式属于结构性模式。A、正确B、错误答案:B56.即使在不知道如何实现Bridge(桥接)模式时,你也可以判断出在这种情况下这个模式是适用的。A、正确B、错误答案:A57.Observer类包含了需要得到通知的对象的概念,并为目标对象提供一个通知Observer的公共接口。A、正确B、错误答案:A58.典型情况下,一个AbstractFactory对象将针对每种必须实例化的对象拥有一个方法。A、正确B、错误答案:A59.外观模式,当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。A、正确B、错误答案:B60.Façade外观模式只能为方法调用创建更简单的接口,不能减少客户必须处理的对象数量。A、正确B、错误答案:B61.Strategy(策略)模式让我们可以将这些规则封装在一个抽象类中,然后拥有一系列的抽象派生类。A、正确B、错误答案:B62.Singleton模式适用于当类只能有一个实例,而且客户可以从一个公共的访问点访问它。A、正确B、错误答案:A63.每个Decorator对象在被装饰的功能之前或之后执行自己的附加功能。A、正确B、错误答案:A64.Adapter模式不是必须针对某个接口进行设计。A、正确B、错误答案:B65.Façade(外观)模式不仅可以为方法调用创建更简单的接口,还可以减少客户必须处理的对象数量。A、正确B、错误答案:A66.在设计模式设计中,作者提倡对变化进行封装在一个类中,再通过对它进行继承的原则。A、正确B、错误答案:B67.FactoryMethod(工厂方法)模式是一个用于定义责任接口的模式。A、正确B、错误答案:B68.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。A、正确B、错误答案:A69.Façade模式和Adapter模式是相同类型的包装器。A、正确B、错误答案:B70.Adapter模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。A、正确B、错误答案:A71.封装就是指数据隐藏。A、正确B、错误答案:B72.AbstractFactory(抽象工厂)模式中,客户对象不需知道“向谁请求需要的对象”“如何使用这些对象”。A、正确B、错误答案:B73.Decorator(装饰)模式的意图是动态地给一个对象添加一些额外的职责。就增加功能来说,该模式相比生成子类不够灵活。A、正确B、错误答案:B74.认为一个实际不会出现的模式出现会起反作用。A、正确B、错误答案:B75.Double-CheckedLocking模式既可以用于单线程又能应用于多线程应用程序。A、正确B、错误答案:B76.对象适配器模式是合成聚合复用原则的典型应用。A、正确B、错误答案:A填空题1.最基本的UML图是类图。它不仅()了类,而且说明了类之间的关系。答案:描述2.每个Decorator对象都对其后的对象()自己的新功能。答案:封装3.为了提高内聚和(),我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。答案:松耦合4.AbstractFactory模式就是用来解决这类问题的:要创建一组相关或者()的对象。答案:相互依赖5.适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是()关系,而对象适配器采用的是组合聚类关系。答案:继承6.工厂模式分为简单工厂,工厂方法,()三种类型。答案:工厂方法7.当存在一个抽象有不同实现时Bridge模式最为有用,它可以使抽象和()相互独立地进行变化。答案:实现8.当一个系统要()于它的产品的创建、组合和表示时适合用AbstractFactory模式。答案:独立9.()模式使原本接口不兼容而不能一起工作的类可以一起工作。答案:Adapter/适配器10.Strategy模式还简化了单元测试,因为每个算法都有自己的类,可以通过自己的()单独测试。答案:接口11.设计模式是一个()的方案,它可以解决一类问题。答案:抽象12.Alexander告诉我们要从()进行设计,在设计我们的片段出现的细节之前先创建整体视图。答案:场景13.在进行设计以应对变化的过程中,应该遵循两条基本策略:找出变化并封装变化点;优先使用对象(),而不是类继承。答案:组合14.AbstractFactory模式强调的是为创建多个相互依赖的对象提供一个()。答案:同一的接口15.设计模式基本原则包括:开闭原则,(),包容变化原则。答案:从场景进行设计的原则16.AbstractFactory模式为如何创建对象组的每个成员定义()。答案:接口17.在Strategy模式的使用中,将某个()从使用它的类中移出来,这种过程与数据库中的规范化过程非常相似。答案:变化的行为18.FactoryMethod(工厂方法)模式在定义()的过程中很常用,这是因为它存在于一个抽象的层次上。答案:框架19.Façade外观模式的解决方案是向客户展现使用现有系统的一个新的()。答案:接口20.Singleton(单件)模式用于单线程应用程序,Double-CheckedLocking模式用于()应用程序。答案:多线程21.在存在继承关系的情况下,方法向超类方向集中,而数据向()方向集中。答案:子类22.系统中的一个模式经常通过为系统中的其他模式提供()与其他模式相关联。答案:场景23.设计模式的思想根源是()基本原则的宏观运用,本质上是没有任何模式的,发现模式的人永远是大师,而死守

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论