ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:275.28KB ,
资源ID:5880368      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5880368.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件设计模式试题集含答案doc.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件设计模式试题集含答案doc.docx

1、软件设计模式试题集含答案doc设讣模式试题 一选择1.设计模式具有的优点()oA.适应爲求变化C.减少开发过程中的代码开发工作就2.设计模式一般用来解决什么样的问题()。A.同一问题的不同表相C.不同问题的不同表相3.设讣模式的两人主题是()。A.系统的维沪与开发C.系统架构与系统开发4以卜哪些问题通过应用设计模式不能够解决。0 A)指定对彖的接口C)确定软件的功能都正确实现二填空1.模式的基本更素包括名称、意图、问题、解决方案、参与者和协作者、(效果)、实现、GcF参考。2.设计模式基本原则包括:开闭原则,(从场景进行设计的原则),包容变化原则。3.设计模式是一个(抽象)的方案,它可以解决一

2、类问题。4.1.在设讣模式群体中,效果是指(原因和结果)。三.判断1.适配器模式属于创建型模式。错2.在设计模式中,“效果”只是指“原因和结果”。对3.设计模式使代码编制不能真正工程化。错4.设计模式的曲大主题是系统复用与系统扩展。对四.名词解释1.设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结.使用设计模式是为了可重用代码、 让代码更容易被他人理解.保证代码可靠性2.模板模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中3.模式就是解决某一类问题的方法论把解决某类问题的方法总结归纳到理论高度,那就是模式.4.内聚度模块内部各成分彼此结合的紧密程度五简答题1

3、什么是役讣模式?设讣模式的日标是什么?设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码 设计经验的总结使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性2.设计模式的基本要素有哪些?名称,意图,问题,解决方案,参与者和协作者,效果,实现,GOF参考.3.设计模式中一般都遵循的原则有什么?开-闭原则,根据场景进行设计原则,优先组合原则,包容变化原则4四人团针对紀创建优秀面向对彖役讣”建议了哪些策略?针对接口编程,优先使用对象组合而不是类继承,找到并封装变化点.笫6章facade (外观)模式选择外观模式的作用是()。A.当不能采用生成子类的方法进行扩充时,动态地给一

4、个対象添加一些 额外的功能 B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更 加容易使用.C.保证一个类仅有一个实例,并捉供一个访问他的全局访问点。D.在方法中定义算法的框架, 而将算法中的一些操作步骤延迟到子类中实现。1.Facade (外观)模式的总:图是()。A.希望简化现有系统的使用方法,你需要定义自己的接口.B.将一个无法控制的现有对象与一个特定借口相匹配。C.将一组实现部分从另一组使用它们的对象中分离出來。D.你需耍为特定的客户(或情况) 提供特定系列的对象。2.()模式定义了一个高戻接口,这个接口使得这一了系统更加容易使用。1.Facade模式可以用來(隐

5、藏)系统。该模式能够将系统作为自己的私有成员包含进来。2.Facade模式要解决的问题:只需要使用一个复杂系统的个(子集)。或者,需要用一种特殊的方式与系统交互.3.Facade模式不仅可以为方法调川创建更(简单)的接口还可以减少客户必须处理的对象数量。4 Facade外观模式的解决方案是向客户展现使用现有系统的 个新的(接口)。三.判断1.Facade (外观)模式不仅可以为方法调用创建更简单的接【1,还可以减少客户必须处理的对象数吊。对2.外观模式,当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。错3.Facade模式为子系统中的一组接口提供的界面可能不一致。错4.

6、Facade外观模式只能为方法调用创建更简单的接口,不能减少客户必须处理的对象数量。错四. 名词解释1.Fagde模式模式定义了一个高层接口,使得这一子系统更加容易使用,为子系统中的一组接口提供一个一致的界面.2.接口包含了一系列不被实现的方法,而把这些方法的实现交给继承它的类.3.组合一个类是另一个类的组成成分4.耦合度对模块间关联程度的度疑.五简答题1.Facade (外观)模式解决问题的方案是什么?如何实现?Facade向客户展现使用现有系统的一个新的接口如何实现:定义一个(或一组新的类来封装所需的接口. 让新的类使用现有的系统.2请简要说明在一个复杂系统中应用Facade (外观)模式

7、的优点。当拥有一个复杂的系统时,Fapad (外观)模 式使我们只需要使用它的一部分功能.最终我们将得到一个更简单,更容易使用的或根据我们的爲要定制的系统.3.Facade模式的息图是什么?望那个简化现有系统的使用方海 需要定义自己的接口4.任Facade模式中,客户是如何使用子系统的?六.应用题1 请论述任一个系统中应用Facade (外观)模式的必要性,并给出一种解决方案。Fade (外观模式不仅可以 为方法调用创建更简单的接口,还可以减少客户必须处理的对象数量.举个例子.假设有一个Client对氧 这个对象必须处理Database Model. Element类的对象Client必须首先

8、通过Database 对象打开数据库.以得到一个对Model对象的引用,然后再向Model对象请求一个Element对象,最后向Element 对象查询所需的信息而如果能创建一个DatabaseFacade类,让Client对象向它发出请求,那么上面的过程可能 就会变得简单一些2请举例说明Facade模式和Adapter模式使用场景的差异,并说明它们的解决方案及表现的特点第7章Adapter (fi配器)模式=选择1.Adapter (适配器)模式的总图是()。A.希望简化现冇系统的使用方法.你需要定义白己的借口。B.将一个无法控制的现有对象与 一个特定借口相匹配C.将一组实现部分从另一组使用

9、它们的对象中分离出來。D.你需耍为特定的客户(或情况) 提供特定系列的对象。2.下面不属于创建型模式的有()oA.抽象工厂模式(Abstract Factory ) B.工厂方法模式(Factory Method)C.适配器模式(Adapter) D.单例模式(Smgleton)3.将一个类的接口转换成客户希望的另一个接口。这句话是对下列哪种模式的描述()oA策略模式(Strategies) B.桥接模式(Bridge)C.适配器模式(Adapter) D.单例模式(Singleton)4以下关于结构型模式说法不正确的是。0A)结构型模式可以在不 破坏类封装性的垄础上,实现新的功能。B)结构型

10、模式主要用于 创建一组对象 C)结构型模式可以创建一组类的统一访问接口。D)结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾佔计到的系统进行交互。二. 填空1.适配器模式,分为类的适配器和对象的适配器两种实现。其屮类的适配器采用的是继承关系,而对象适配器采 用的是(组合聚合)关系。2.Adapter模式有两种类型有:对象Adapter模式、3.UML足一种用來创建(程序模型)的图像语言。4.(Adapter适配器)模式使原本接不兼容而不能一起I作的类川以一起匸作。5.适配器模式,分为类的适配器和对象的适配器两种实现。其屮类的适配器采用的是(继承)关系,而对象适配 器采用的是组合聚类关系

11、。1.对象适配器模式是合成聚合复用原则的典型应用。对2.Adapter模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。对3.Facade模式和Adapter模式是相同类型的包装器。错4.Adapter模式不是必须针对某个接口进行设计。错四名词解释1.Adapter 模式将一个类的接口转换成客户希望的另外一个接口 Adapter模式使原本由于接口不兼容而不能一起工作的那些 类可以一起工作.2.对象Adapter模式使用Adapter模式与适当的抽象类相匹配,它通常依赖于f 对象(适配对象)包含另一个对象(被适配对象)3.类Adapter模式当实现Adapter模式的方法是使用多重继承

12、。在这种情况下,它被成为类Adapter模式。4 多态相关的对象按照各自类型来实现方法的能力.五.简答题1.给出Adapter模式的定义及总图。意图是将一个类的接口转换成客户希望的另外一个接口 Adapter模式使原本由于接口不兼容而不能一起工作 的那些类可以一起工作2.Adapter模式的最常见的用法是什么?该模式可以使你不用操心什么方面?Adapter模式最通常的用绘就是保持多态.Adapter模式让我们在进行设计时不必再担心现存类的接口问题.3.Adapter模式问題的解决方案以及如何实现?解决方案是Adapter模式用我们需要的接口对无法修改的类进行包装.实现:将现存的类包含在另一个类

13、之中. 包容类与需要的接口相匹配,并调用被包容类的方法.4.请简要说明在软件设计中设计模式的作用?软件设计模式(Design Pattern)是一套被反复使用、多数人知晓的.经过分类编目的代码设计经验的总结 使用设计模式是为了适应需求变化.可重用代码.让代码更容易被他人理解.保证代码的可靠性.六.应用题1.根据你的理解,请分析Facade模式比Adapter模式的相同点和不同点,并说明它们在实际应川中的筮异?在两 个模式中,都拥有现存的类.但是在Facade模式中,无须针对某个接口进行设计;而在Adapter模式中 则必须针对某个蒔定接口进行设计在Fade模式中,动机是简化接口,而在Adapt

14、er模式中,尽骨也是越简单 越好,目的是针对一个现有的接口进行设计,并不能简化任何东西,即使可能有另一个更简单的接口.总之,在实 际应用中.Facade模式简化接口,而Adapter模式将接口转换成另一个现有的接口.2请说明什么是Adapter模式,Adapter模式有哪儿种形式?请举例说明?笫8章扩展我们的视野第9章Bridge (桥接)模式一选择1.关于继承表述错误的是:(九人继承是一种通过扩展一个己有对象的实现,从而获得新功能的 复用方法。B.超类可以显式地捕获那些公共的属性和方法。子类则通过附加属性和方法來进行 实现的扩展。C在一定意义上说破坏了封装性,因为这会将父类的实现细节眾露给子

15、类。D继 承本质上是“白盒复用J对父类的修改,不会杉响到子类.2.在不破坏类封装性的基础上,使得类可以同小曾估计到的系统进行交互。主姿体现在()oA外观模式(Facade) B装饰模式(Decorator)C策略模式(Strategies) D桥接模式(Bridge)3.行为类模式使用()在类间分派行为。A接口 B继承机制 C对象组合 D委托4.下面的类图表示的是哪个设计模式?().A抽象工厂模式(Abstract Factory) B观察者模式(Observer)C策略模式(Strategies) D桥接模式(Bridge)5.Bridge (桥接)模式的意图是()A希望简化现有系统的使用方

16、法.你需要定义自己的借口。B.将一个无法控制的现有对象与一个特定借口相 匹配。C.将一组实现部分从另一组使用它们的对彖中分离出来.D.你需耍为特定的客户(或情况)提供特定系列的 对象。6.按照四人团的说法.Bridget式的意图是()。A.将抽象部分与它的实现部分相分离,使它们可以独立地变化.B.将抽象部分与它的实现部分相分离,但它们不能独立地变化.C.将抽象部分与它的实现部分相结合,但它们可以独立地变化.D.将抽象部分与它的实现部分相结合,使它们相互依赖.7.以下叙述不对的是().A.Bridge模式是将抽象部分与它的实现部分分离,使它们可以独立地变化.B.Bridge模式是发现并封装不同点

17、的极好例子.C.Bridge模式优先使用继承而不是组合.D.Bridge 式优先使用组合而不是继承.8.以下叙述不对的是()。A.学习设计模式告诉我们要尽可能使用继承.B.学习设计模式通常可以找到比仅采用面向对象方法更好的解决方案.C.学习设计模式告诉我们要尽可能使用组合.D.Bridge模式适用于一个抽象部分拥有不同的实现部分的情形9.对Alexander的模式哲学,以下叙述正确的是().A学习设计模式,可以完全解决软件开发中的变化悄况.B.毎个模式,可以无数次使用模式提供的解决方案,而不必再次畫复同样的工作方式.C.设计模式总是可以为需求的变化提供更好的解决方案.D.设汁模式描述-个任开发

18、的软件坏境中不断产生新的问題时,能提供很好的解决方案.10.根据Coplien关于共同点/变化点的说法,下面哪个是正确的()oA.共同点分析就是寻找一个不会随时间变化的结构,而变化点分析就是捕捉变化的内容.B.共同点分析是寻找家族成员的相同元素.C.在一个系统中,共同点和不同点的关系是相对的,可以互相转化.D.共同点通常由父类实现,而变化点通常由子类实现.二填空1.在存在继承关系的惜况卜,方法向超类方向集中,而数据向(子类)方向集中.2.当存在一个拍象有不同实现时Bridge模式最为有用,它可以使抽象和(实现)相互独立地进行变化。3.(类型的封装)是通过多态使用具有派生类的抽象类实现的。4.在

19、进行设计以应对变化的过程中,应该遵循两条基本策略:找出变化并(封装变化点);优先使用对象组合,而 不是类继承。5.C+中,必须用一个定义(公共接口)的抽象类来实现Bridge模式的实现部分。6.为了提高内聚和(松耦合),我们经常会抽象出一些类的公共接II以形成抽象基类或者接【17.封装性好的代码更容易测试,因为它与其他代码没有(耦合)。8.Bridge (桥接)模式足将抽象部分与它的实现部分分离,其屮(实现部分)足指用來实现抽象类的派生类的对 象。9.在进行设讣以应对变化的过程中,应该遵循两条基本策略:找出变化并封装变化点;优先使用对象(组合),而 不是类继承。三.判断1.为了提高内聚和紧耦合

20、,我们经常会抽象出一些类的公共接口以形成抽彖基类或者接口。错2.继承本质上是“白盒复用”,对父类的修改,不会影响到子类。错3.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。对4.即使在不知道如何实现Bridge (桥接)模式时,你也可以判断出在这种情况下这个模式足适川的。对5.在创建设计以处理变化的过程中,应该优先使用类继承,而不是使用对象组合。错6.只有在共同点分析定义的上下文中,变化点才有意义。对7.变化点就是领域问题的特殊情形,而共同点则是指-般情形。错8.Bridge模式就是为系统提供一种高内聚,松耦合的解决方案。对9.当需要增加系统的功能时应当采用Bridge模式.

21、错封装就是指数据隐藏。错四名词解释1.抽象是指不同事物之间概念上的联系方式.2.亜构修改代码改进结构但不増加新功能,就是所谓重构.3.内聚性 指的是例程中操作之间联系的紧密程度.4.耦合性指的是两个例程之间联系的紧密程度.5.Bridge (桥梁)模式将抽象化与实现化脱耦,使得二者可以独立的变化就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化 K.简答 题1.Bridge模式要解决的基本问题是什么? Bridge (桥接)模式适用于一个抽象部分拥有不同的实现部分的情况,它让抽象部分和实现部分可以各自独立的变

22、化.2.给出Bridge模式的定义。采用Bridge模式的效果是什么?将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化效果是:“实 现部分与使用它的对象的分离”増加了灵活性客户对象不需要了解实现问题.3.什么是条规则,一个地方” ?抽象类经常让自己的方法实际使用实现部分对象抽象部分的派生类将调用这些方法.这样如果需要修改,修改也会容易些,并且在实现整个模式之前让你拥有一个好的起点4任学习Bridge (桥接)模式的过程中,应该遵循卜列处理变化的棊本策略是什么?找

23、出变化并封装变化点; 优先使用对象组合,而不是类继承5.Bridge (桥接)模式的解决方案是什么,以及如何实现?解决的问题是:为所有的实现部分定义一个接口,让 抽象类的所有派生类使用这个接口实现:将实现部分封装在一个抽象类中.在被实现的抽象部分基类中包含一个实现部分基类的句柄六应川题1.根据你对Bridge模式的理解,概要描述使川该模式的应川要求,并给出相应的设il类图。当存在一个抽象有不同实现时Bridge模式最为有用,它可以使抽象和实现相互独立地进行变化2.举例说明使用Bridge模式的场合,给出在该场合下使用Bridge模式的解决方案,并说明该解决方案的优点。打印驱动程序是Bridge

24、模式最典型的例子.也是最适合应用Bridge模式的场合.Bridge模式的真正威力在于 它能够帮助我们看到什么时候应该从问题域中提取实现也就是说,有时候有一个实体X使用系统& 一个实体Y 使用系统T.我们可能认为X总是与S相伴,而Y总是与T相伴,因此就将它们联系(耦合)起来.Bridge模式 提醒我们,可以抽象出S和T,这样更好,也就是说,Bridge模式最有用的地方,是在解耦抽象与实现之前考虑 Bridge模式是否适用第10章Abstract Factory (抽魚工厂)模式选暮1.静态工厂的核心角色是()OA抽象产品B具体产品C. 静态工厂 D.消费者2.以下属于创建型模式的是().B装饰

25、模式(Decorator)D桥接模式(Bridge)D桥接模式A抽象工厂模式(Abstract Factory)C外观模式(Facade)3.下面的类图表示的是哪个设计模式?()。A抽象工厂模式 B观察者模式C策略模式ProductBIProductB2 |14.Abstract Factory (抽象工厂)模式的意图是()。A.希望简化现有系统的使用方法你需要定义自己的借口。B.将一个无法控制的现有对象与一个特 定借口相匹配。C.将一组实现部分从另一组使用它们的对象中分离岀来。D-提供一个创建一系列相关或相互依赖对 象的接口,而无需指定它们具体的类5.在根据不同的机器选择设备驱动程序的案例中

26、,以下叙述不准确的是()。A.可以使用switch语句选择驱动程序.B.可以使用继承来实现选择驱动程序,但它可能会产生类组合爆炸问题C.可以选择抽象工厂模式实现且能避免组合爆炸问题.D.使用继承的解决方案要比switch语句有更多的优势.6.以下有关Abstract Factory (抽象工厂)模式正确的是()。A Abstract Factory的实例化方法就是具体工厂方法.B.Abstract Factory类和具体工厂方法可以分离,每个具体工厂负责一个抽象工厂方法接口的实现.C.由于Abstract Factory类和具体工厂方法可以分离,因此在实现时会产生更多的类.D.当问题存在相同的

27、对象用于解决不同的情形时,应该使用抽象工厂模式.7.根据设计模式,有关抽象工厂模式的定义,准确的说法是()A工厂方法是一个抽彖类的派生类实现的。B要创造的东西本身是抽象定义的,工厂方法可以灵活实现.C.抽象匸厂只关注概念,而具体匸厂 创建抽象工厂。D抽象工厂派生岀具体工厂对象和实现方法8.关于抽象工厂模式,以下叙述不正确的是()A客户对象不需要知道向谁请求所需的对象和如何使用这些对象B抽象工厂类通过为每个不同类型的对象定义一个方法,来指定实例化哪个对象。C具体工厂对彖负责指定哪些对象要实例化。D将抽象工厂模式和适配器模式结合任一起,可以将概念相似的对象当作同种对象处理。9.关于抽象工厂模式(A

28、bstract Factory ),以下叙述正确的是()。A抽象工厂相对具体工厂而言,可以理解为抽象工厂是抽象类,而具体工厂是对抽象工厂的继承,是抽象工厂 的子类。B抽象工厂类不能实例化,具体工厂可以实例化。C抽象工厂定义接口,具体工厂实现某一接口D抽象工厂模式将使川哪些对级的规则与如何使用这些对線的逻辑仃效地结合起來。10.下面属于创建型模式的有()。A.抽象工厂(Abstract Factory )模式B.外观(Facade)模式C.适配器(Adapter)模式D.桥接(Bridge)模式二填空1.(抽象工厂)模式提供了一系列相关或柑互依赖対象的接口而无需指定他们具体的类。2.工厂模式分为

29、简单工厂,工厂方法,(工厂方法)三种类型。3.Abstract Factory模式就是用來解决这类问题的:要创建-组相关或者(相互依赖)的对象。4.Abstract Factory模式强调的是为创建多个相互依赖的对象提洪一个(同一的接口)。5.我们可以使用(抽象工厂)模式,不同应用程序都使用同一子系统。6.Abstract Factory懣图提供-个创建一系列相关或相互依赖对象的接口,而无盂指定它们(具体的类)。7.当一个系统要(独立)于它的产品的创建、组合和农示时适合用Abstract Factory模式。8.Abstract Factory模式为如何创建对象组的每个成员定义(接口)。9.抽

30、象工厂模式是定义一个(抽象类),然后为每个组实现一个具体类.10.Abstract Factory模式将如何执行对象(实例化)规则从使用这些对象的客户对象提取出来.三判 断1.抽象工厂模式提供了一系列相关或相互依赖对象的接口且必须指定他们具体的类。错2.Abstract Factory (抽象工厂)模式确保系统总能根据当前的情况茯得合适的对彖。对3.Abstract Factory (抽彖工厂)模式中,客户对象不需知道“向谁诫求需要的对象” “如何使用这些对象”。错4.典型情况下,一个Abstract Factory对象将针对每种必须实例化的对象拥有一个方法.对5.决定需要哪个工厂对象,实际上

31、是判断需要那个系列的对象。对6.从本质上看,switch语句可以达到和抽象工厂相同的效果。错7.抽象工厂模式简化了设计过程。错8.一个抽象工厂对象总是要和一个具体工厂方法对象相结合。错9.抽彖工厂模式告诉我们,要针对接口而不是实现进行设计。对10.使用抽彖工厂方法与优先使用组合是相牙盾的。错四.名词解释1.Abstract Factory (抽象工厂)模式就是用来解决这类问题的:要创建一组相关或者相互依赖的对象.2.组合爆炸随着问题中元素的增加,所出现的可能组合数剧烈增加,形象的说法就是组合爆炸.3.封装任何形式的龟藏.对象对它们的数据进行封装。抽象类对它们派生出的具体类进行封装4.抽象类为一组概念上相似的类定义方法和公共属性.抽

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1