




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JAVA 设计模式复习资料、单项选择题1设计模式起源于()A 、机械设计C、水利工程设计2“不要和陌生人说话” 是( A 、接口隔离3目前常见的设计模式主要有(A 、 23B、 21B、建筑工程设计D 、工业电力化设计)原则的通俗表述。B、里氏替换 C、依赖倒置D、迪米特)种。、 32 D 、 284以下关于单一职责原则的叙述不正确的是()。A 、单一职责原则的英文名称是 Single Responsibility Principle.B、单一职责原则要求一个类只有一个职责C、单一职责原则有利于对象的稳定,降低类的复杂性D 、单一职责原则提高了类之间的耦合性 5以下关于依赖倒置原则的叙述不正确
2、的是()A、依赖倒置原则的简称是 DIPB、高层模块不依赖于低层模块,低层模块依赖于高层模块C、依赖倒置原则中高层模块和低层模块都依赖于抽象D 、依赖倒置原则实现模块间的松耦合6下面关于单例模式说法错误的是()A、单例模式是指一个类只有一个实例B、单例类从实现方式上分为懒汉式和饿汉式C、单例类从功能上分为状态单例类和无状态单例类D、可以通过继承的方式对单例类进行扩展得到功能更丰富的单例类7下面关于工厂方法模式说法错误的是()。A、工厂方法模式使一个类是实例化延迟到其子类中B、 工厂方法模式中具有抽象工厂、具体工厂、抽象产品和具体产品4个角色C、工厂方法模式可以处理多个产品的多个等级结构D、工厂
3、方法模式可以屏蔽产品类8在以下情况不适合使用责任职责链模式()A、有多个对象可以处理请求,哪个对象处理该请求在运行时刻自动确定。B、在需要用比较通用和复杂的对象指针代替简单的指针的时候C、你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。D、一个请求需要一系列的处理工作。9当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( ) 模式A、结构型 B、创建型C、行为型 D、以上都可以10 以下用来描述适配器模式的是()A、 表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元 素的类的前提下定义作用于这些元素的新操作。B、定义一个用于创建对象的接口,让子类决定
4、实例化哪一个类。C、 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼 容而不能一起工作的那些类可以一起工作。D、动态地给一个对象增加一些额外的职责。11 以下用来描述命令模式是()A、将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化; 对请求排队或记录请求日志,以及支持可撤消的操作。B、定义一系列的算法,把它们一个个圭寸装起来,并且使它们可相互替换,本 模式使得算法可独立于使用它的客户而变化。C、为其他对象提供一种代理以控制对这个对象的访问。D、保证一个类仅有一个实例,并提供一个访问它的全局访问点。12以下关于创建型模式说法正确的是()A、创建型模式关注的是对
5、象的创建方法B、创建型模式关注的是功能的实现方法C、创建型模式关注的是组织类和对象的常用方法D 、创建型模式关注的是对象间的协作13以下用来描述装饰模式的是()A、运用共享技术有效地支持大量细粒度的对象B、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象C、将抽象部分与它的实现部分分离,使它们都可以独立地变化D、动态地给一个对象添加一些额外的职责14不应该强迫客户依赖于它们不用的方法,是关于 ()的表述。A、幵-闭原则 B、接口隔离原则C、里氏替换原则D、依赖倒置原则15以下用来描述外观模式的是 ()A 、为子系统中的一组接口提供一个一致的界面, 本模式定义了一个高层接口, 这个
6、接口使得这一子系统更加容易使用。B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。C、保证一个类仅有一个实例,并提供一个访问它的全局访问点。D 、在不破坏封装性的前提下, 捕获一个对象的内部状态, 并在该对象之外保 存这个状态。样以后就可将该对象恢复到原先保存的状态。16 以下意图哪个是用来描述桥梁模式()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的 类。B 、将抽象部分与它的实现部分分离,使它们都可以独立地变化。C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不 同的表示。D、动态地给一个对象添加一些额外的职责。17开闭原则的含义是一个软件实
7、体()A 、应当对继承开放,对实现关闭B、应当对修改幵放,对扩展关闭C、应当对扩展幵放,对修改关闭D 、以上都不对18 以下哪个用来描述建造者模式()A、定义一个用于创建对象的接口,让子类决定实例化哪一个类B、保证一个类仅有一个实例,并提供一个访问它的全局访问点。C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不 同的表示。D、运用共享技术有效地支持大量细粒度的对象。19以下哪个不属于设计模式的要素()A、模式名称 B、问题C、因素D、环境20以下不属于结构型模式的是()A、代理模式B、工厂方法模式C、适配器模式D、享元模式1-5 BDADB 6-10 DCBBC11-15
8、AADBA 16-20 BCCCB21 关于模式应用场景,在以下哪种情况适合使用组合模式()A、你想使用一个已经存在的类,而它的接口不符合你的需求。B、当一个类的实例只能有几个不同状态组合中的一种时。C、你想表示对象的部分-整体层次结构。D、一个对象的行为取决于它的状态, 并且它必须在运行时根据状态改变行为。22 Java 的异常处理机制可理解为哪一种行为模式()A、观察者模式B、迭代器模式C、职责链模式D、策略(Strategy )模式23当创建一个具体的对象而又不希望指定具体的类时,可以使用()模式A、结构型B、创建型C、行为型D、以上都可以24 以下哪个用来描述建造者模式(A、定义一个用
9、于创建对象的接口,让子类决定实例化哪一个类B、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不 同的表示。C、保证一个类仅有一个实例,并提供一个访问它的全局访问点。D、运用共享技术有效地支持大量细粒度的对象。25 设计模式的两大主题是()A、系统的维护与幵发B、对象组合与类的继承C、系统架构与系统幵发D、系统复用与系统扩展26 要依赖于抽象,不要依赖于具体,即针对接口编程,不要针对实现编程,是 ( )的表述。A、幵闭原则B、接口隔离原则C、里氏替换原则D、依赖倒置原则27 以下意图哪个是用来描述桥梁模式()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的 类
10、。B、将抽象部分与它的实现部分分离,使它们都可以独立地变化。C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不 同的表示。D、动态地给一个对象添加一些额外的职责。28 以下意图哪个是用来描述抽象工厂模式()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的 类。B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。C、将一个类的接口转换成客户希望的另外一个接口。D、表示一个作用于某对象结构中的各元素的操作。29开闭原则的含义是一个软件实体()A、应当对扩展幵放,对修改关闭.B、应当对修改幵放,对扩展关闭C、应当对继承幵放,对修改关闭D 、以上都不对30
11、. 对于违反里氏替换原则的两个类,可以采用的候选解决方案错误的是: ()A、创建一个新的抽象类 C,作为两个具体类的超类, 将A和B共同的行为移 动到 C 中,从而解决 A 和 B 行为不完全一致的问题。B、将B到A的继承关系改组成委派关系。C、区分是“ ls-a ”还是” Has -a”。如果是“ ls-a ”,可以使用继承关系,如 果是” Has a ”应该改成委派关系D 、以上方案错误 31.以下意图那个是用来描述 ADAPTER (适配器) ?()A、将一个类的接口转换成客户希望的另外一个接口,本模式使得原本由于接 口不兼容而不能一起工作的那些类可以一起工作。B、定义一个用于创建对象的
12、接口,让子类决定实例化哪一个类。C、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元 素的类的前提下定义作用于这些元素的新操作。D、将一个请求封装为一个对象, 从而使你可用不同的请求对客户进行参数化; 对请求排队或记录请求日志,以及支持可撤消的操作。32 .“不要和陌生人说话”是( )原则的通俗表述。A、接口隔离 B、里氏替换 C、依赖倒置 D、迪米特33 .以下关于创建型模式说法正确的是()A、创建型模式关注的是对象的创建B、创建型模式关注的是功能的实现C、创建型模式关注的是组织类和对象的常用方法D、创建型模式关注的是对象间的协作34 .关于模式适用性,在以下情况不适合使用享
13、元模式?()A、一个应用程序使用了大量的对象。B、完全由于使用大量的对象,造成很大的存储幵销。C、对象的大多数状态都可变为外部状态。D、你想使用一个已经存在的类,而它的接口不符合你的需求。35 .适配器模式是()原则的典型应用。A、合成聚合复用原则 B、里氏替换原则C、依赖倒置原则D、迪米特法则21-25 . CCBBD 26-30 . DBAAD 31-35 . ADADA二、填空题1、 设计模式分为 U建型_、亍为型、吉构型 大类型。2、 设计模式中的六个主要原则主要包括:单一职责原则、依赖倒置原则、_里 氏替换原则、口隔离原则_迪米特法则和幵闭原则。3、 设计模式中,对迪米特法则进行应用
14、的设计模式有外观模式和 介者模式4、 _装饰模式模式用于动态地给一个对象添加一些额外的职责。5、卜观模式模式要求一个子系统的外表与其内部的通信必须通过一个统一 的对象进行。6、 梁模式模式的定义是将抽象和现实解耦,使得两者可以独立地变化。7、 察者模式模式定义对象间一种一对多的关系,使得每当一个对象改变 状态,则所有依赖于它的对象都会得到通知并被自动更新。8、_行为 模式主要用于描述对类或对象怎样交互和怎样分配职责。9、组合模式属于_吉构型 模式、原型模式属于_创建型 模式。10、_模板方法 _模式定义一个操作中的算法框架,将一些步骤延迟到子类中实 现。11、 饰模式用于动态地给一个对象添加一
15、些额外的职责。12、 卜观 模式要求一个子系统的外表与其内部的通信必须通过一个统一的 对象进行。13、 略 模式定义一组算法,将每个算法封装起来,并且使它们之间可以 互换。14、 忘录 模式捕获一个对象的内部状态,并在该对象之外保存这个状态, 以后可以将该对象恢复到原先保存的状态。15、 配器_J莫式将一个类的接口变换成客户端所期待的另一种接口,从而 使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。16 、规格模式 模式是策略模式和组合模式的扩展。1 、创建型、行为型、结构型2、里氏替换原则、接口隔离3、中介者模式 4 、装饰模式5、外观模式6、桥梁模式7 、观察者模式8行为9结构型
16、、创建型10模板方法11 、装饰12、外观13 、策略14 、备忘录15、适配器16 、规格模式三、简答题1、简述依赖倒置原则的三层含义、在Java 当中的体现和优点。答:接口隔离原则有如下两种定义: 客户端不应该依赖它不需要的接口; 类间的依赖关系应该建立在最小的接口上 接口隔离原则的具体的含义如下 :(1)一个类对另外一个类的依赖性应当是建立在最小的接口上的(2)一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一 起,形成一个臃肿的大接口,这是对角色和接口的污染。因此使用多个专门的接口比使用单一的总接 口要好(3)不应该强迫客户依赖于它们不用的方法。接口属于客户
17、,不属于它所在的类层次结构。即 不要强迫客户使用它们不用的方法, 否则这些客户就会面临由于这些不使用的方法的改变所带来的问 题。2、简述工厂方法模式的定义和角色答:(1)概念定义一个创建产品对象的工厂接口,让子类决定实例化哪个子类(2)4 个角色:抽象工厂( Creator )角色:该角色是工厂方法模式的核心,与应用系统无关,任何在创建对象 的工厂类必须实现这个接口。具体工厂 ( Concrete Creator )角色: 该角色实现了抽象工厂接口, 含有与应用密切相关的逻辑, 并且受到应用程序的调用以创建产品对象。多个具体工厂分别对应生产多个具体产品。抽象产品( Product )角色:该角
18、色负责定义产品的共性,实现对产品最抽象的定义。具体产品( Concrete Product )角色:该角色实现抽象产品角色所声明的接口,工厂方法模式 所创建的每一个对象都是某个具体产品角色的实例。3、简述模板方法模式的定义和角色和优点答:(1)概念定义一个操作中的算法的框架, 而将一些步骤延迟到子类中。 使得子类可以不改变一个算法的结 构即可重定义该算法的某些特定步骤(2)模板方法角色:抽象模板( Abstract Template )角色:该角色定义一个或多个抽象操作,以便让子类实现;这 些抽象操作是基本操作,是一个顶级逻辑的组成步骤。还需要定义并实现一个或几个模板方法,实现 对基本方法的调
19、度,完成固定的逻辑。具体模板( Concrete Template )角色:该角色实现抽象模板中定义的一个或多个抽象方法,每 一个抽象模板角色都可以有任意多个具体模板角色与之对应, 分别给出这些抽象方法的不同实现, 而使得顶级逻辑的实现各不相同。4、简述代理模式的定义和角色答: (1)定义:为其他对象提供一种代理以控制对这个对象的访问。(2 )代理模式 3 个角色:抽象主题( Subject )角色:该角色是真实主题和代理主题的共同接口,以便在任何可以使用真 实主题的地方都可以使用代理主题。代理主题( Proxy Subject )角色:也叫做委托类、代理类,该角色负责控制对真实主题的引用,
20、负责在需要的时候创建或删除真实主题对象, 并且在真实主题角色处理完毕前后做预处理和善后处理 工作。真实主题( Real Subject )角色:该角色也叫做被委托角色、被代理角色,是业务逻辑的具体执5、简述中介者模式的定义和角色含义。答:(1)定义:用一个中介对象封装一系列对象(同事)的交互,中介者使各对象不需要显式的相 互作用,从而使其耦合松散,而且可以独立的改变它们之间的交互。(2)中介者模式角色:抽象中介者( Mediator )角色:该角色定义出同事对象到中介者对象的统一接口,用于各同事 角色之间的通信。具体中介者( Concrete Mediator )角色:该角色实现抽象中介者,它
21、依赖于各个同事角色,并 通过协调各同事角色实现协作行为。抽象同事( Colleague )角色:该角色定义出中介者到同事对象的接口,同事对象只知道中介者 而不知道其余的同事对象。具体同事( Concrete Colleague )角色:该角色实现抽象同事类,每一个具体同事类都清楚自 己在小范围内的行为,而不知道大范围内的目的。6、简述策略模式的定义和角色含义。答:(1)定义:定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。(2)策略模式角色:环境( Context )角色:该角色也叫上下文角色,起到承上启下的作用,屏蔽高层模块对策略、 算法的直接访问,它持有一个 Strategy
22、类的引用。抽象策略( Strategy )角色:该角色对策略、算法进行抽象,通常定义每个策略或算法必须具有的方法和属性。具体策略( Concrete Strategy )角色:该角色实现抽象策略中的具体操作,含有具体的算法。7、简述设计模式的 10 要素。答:( 1 )模式名称,简洁反映设计模式的问题、解决方案和效果 (2)问题,解释了设计问题和问题的前因后果(3)环境或初始环境,说明模式的使用范围,也叫前提条件( 4 )解决方案,描述模式设计的组成部分,各部分职责和协作方式 (5)效果,描述使用效果和使用模式应权衡的问题 (6)举例,使用一个或几个应用示例说明特定的环境、以及模式如何应用到环境中,最终 得到什么效果( 7 )末态环境,模式应用到系统之后的状态,包括好结果和坏结果,以及新状态含有的其 他问题(8)推理,推理解释模式的步骤、规则(9)其他有关模式,描述现有系统中此模式与其他模式的动态和静态关系。如相互依赖或 替换。(10 )已知应用。8、简述依赖倒置原则 答:包括三层含义: 高层模块不应该依赖底层模块,两者都依赖其抽象 抽象不依赖细节细节应该依赖于抽象依赖倒置原则在 Java 中的体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英国db3数字货币银行学试题及答案
- 银行运管考试题及答案
- 银行信贷管理试题及答案
- 甜品专业考试题库及答案
- 小学音乐专业试题及答案
- 小学语文人教部编版六年级上册《第六单元语文园地六》课件
- 美术专业试题及答案
- 国贸专业试题及答案盐工
- 湖南省邵阳市2025-2026学年高一上学期9月拔尖创新班联考物理试题(含答案)
- 热能动力专业试题及答案
- 《论语》十二章 高中语文选择性必修上册
- 各国见面礼仪英文版
- 2023-2024学年广东广州番禺区四年级数学第一学期期末综合测试试题含答案
- 常见症状-意识障碍的诊断评估(诊断学课件)
- 迭氮化钡(含水大于50%)化学品安全技术说明书MSDS
- 地形地貌与地质构造介绍
- 维克多高中英语3500词汇
- 工业控制系统安全风险评估(工控安全大检查)
- NY 5052-2001无公害食品海水养殖用水水质
- TSZUAVIA 009.4-2019 多旋翼无人机系统实验室环境试验方法 第4部分:低温试验
- 现状调查培训课件
评论
0/150
提交评论