《JAVA设计模式》期末考试复习资料

合集下载

《JAVA设计模式》期末考试复习资料复习进程

《JAVA设计模式》期末考试复习资料复习进程

《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、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

《JAVA程序设计》期末考试试题汇总及答案

《JAVA程序设计》期末考试试题汇总及答案

《JAVA程序设计》期末考试试题汇总及答案运行结果:Hello! I love JA V A.2、import java.io.* ;public class abc{public static void main(String args[ ]){ int i, s = 0 ;int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };for ( i = 0 ; i < a.length ; i ++ )if ( a[i]%3 = = 0 ) s += a[i] ;System.out.println("s="+s);}}运行结果:s = 1803、import java.io.* ;public class abc{public static void main(String args[ ]){System.out.println("a="+a+"\nb="+b);}}class SubClass extends SuperClass{ int c;SubClass(int aa, int bb, int cc){super(aa, bb);c=cc;}}class SubSubClass extends SubClass{ int a;SubSubClass(int aa, int bb, int cc){ super(aa, bb, cc);A = aa+bb+cc;}void show(){System.out.println("a="+a+"\nb="+b+"\nc="+c);}}运行结果:a=60b=20c=30《JA V A程序设计》期末考试试题(二)一.判断题1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。

java期末考试复习题

java期末考试复习题

java期末考试复习题# Java期末考试复习题1. Java基础概念- 简述Java语言的特点。

- 描述Java的运行机制,包括JVM的作用。

- 解释Java的跨平台特性是如何实现的。

2. Java数据类型- 列举Java的基本数据类型及其大小和默认值。

- 解释整型常量和浮点型常量的区别。

- 描述字符类型char在Java中的特殊用途。

3. 变量与运算符- 说明变量声明和初始化的区别。

- 列举Java中的各种运算符,并给出使用场景。

- 解释自增和自减运算符的工作原理。

4. 控制流程语句- 描述if-else语句的用法。

- 说明switch-case语句的使用条件和限制。

- 阐述循环语句(for, while, do-while)的异同。

5. 数组- 解释一维数组和二维数组的区别。

- 描述如何声明和初始化数组。

- 说明数组的遍历和排序方法。

6. 方法- 描述方法的定义和调用过程。

- 说明方法的参数传递机制(值传递)。

- 阐述重载和重写的区别。

7. 面向对象编程- 解释类和对象的概念。

- 描述构造方法的作用和特点。

- 阐述继承、封装和多态的概念及其在Java中的实现。

8. 访问控制- 列举Java中的访问控制修饰符。

- 解释public, private, protected和default访问控制的区别。

9. 接口与抽象类- 描述接口和抽象类的区别。

- 说明如何实现接口和抽象类。

10. 异常处理- 解释异常的概念及其分类。

- 描述try-catch-finally语句的使用。

- 阐述自定义异常的方法。

11. 集合框架- 描述Java集合框架的组成。

- 比较List, Set和Map的区别和使用场景。

- 说明迭代器(Iterator)的使用方法。

12. 泛型- 解释泛型的概念及其优点。

- 描述泛型在集合中的使用。

13. 输入输出(I/O)- 描述Java I/O流的分类。

- 说明字节流和字符流的区别。

Java期末考试复习及部分答案

Java期末考试复习及部分答案

第一部分知识点复习第2章Java基础知识1.标识符定义。

标识符是为Java程序中定义的变量、方法和类等所起的名字。

2.关键字。

Java将一些单词赋予特定的涵义,用于专门用途,不允许在当作普通的标志符来使用,这些单词被称为关键字3.三种注释。

单行注释(//),多行注释(/*````````*/),文档注释(/**```````*/)4.变量及其分类。

变量是利用声明的方式,将内存中的某个快保存下来供程序使用。

变量的类型:整型(int)、长整型(long)、短整型(short)、浮点型(float)、双精度浮点型(double)字符型(char)、字符串行(String)5.常量的定义。

6.Java的数据类型分类。

基本数据,数组,类,接口7.变量的类型转换(赋值相容)。

8.Java程序控制语句分为三类:选择、循环和顺序。

9.if语句和switch语句比较。

if语句和switch语句可以从使用的效率上来进行区别,也可以从实用性角度来区分。

如果从使用的效率上进行区分,在对同一个变量的不同值作条件判断时,可以用switch语句与if语句,使用switch语句的效率相对更高一些,尤其是判断的分支越多越明显。

如果从语句的实用性的角度去区分,那switch语句肯定不如if条件语句。

if条件语句是应用最广泛和最实用的语句。

10.while、do-while、for语句(包括for-each)的比较。

(1)while语句和do...while语句,只在while后面指定循环条件,但是需要在循环体中包括使循环趋于结束的语句,而for语句则可以在迭代语句中包含使循环趋于结束的语句。

(2)用while语句和do...while语句时,对循环变量的初始化操作应该放在while语句和do...while语句之前,而for语句则可以在初始化语句中完成。

(3)while语句和do...while语句实现的功能相同,唯一的区别就是do…while语句先执行后判断,无论表达式的值是否为true,都将执行一次循环;而while语句则是首先判断表达式的值是否为true,如果为true则执行循环语句;否则将不执行循环语句。

JAVA程序设计考试复习资料

JAVA程序设计考试复习资料

一、单选题1.File类型中定义了什么方法来创建多级目录?()A、createNewFileB、existsC、mkdirsD、mkdir答案: C2.关于awt和swing说法正确的是()。

A、awt在不同操作系统中显示相同的风格B、swing在不同的操作系统中显示不相同的风格C、awt是swing的子类D、awt和swing都支持事件模型答案: D3.找出与3*4值相同的表达式()。

A、3/2B、3<2C、3<<2D、3<<<2答案: C4.设int a=15,则运行a+=a运算后,a的值是()。

A、0B、15C、225D、30答案: D5.为了提高读写性能,可以采用什么流?()A、InputStreamB、DataInputStreamC、OutputStreamD、BufferedInputStream答案: D6.执行代码String[] s=new String[10]后,哪个结论是正确的()。

A、s[10]为""B、s[9]为nullC、s[0]为未定义D、s.length为9答案: B7.在Java中,所有类的根类是()。

A、ng.ObjectB、ng.ClassC、java.applet.AppletD、java.awt.Frame答案: A8.以下描述正确的是()。

A、在Java中任何类都可以创建该类的对象B、在定义抽象类时使用的关键字是AbstractsC、当一个类被final关键字修饰后,它将不能再派生子类D、在Java中,不再引用的空间必须由程序员释放答案: C9.下列容器类中哪一个是从java.awt.Window继承的?()A、FrameB、PanelC、ContainerD、Applet答案: A10.编译Java程序的命令是()。

A、javaB、javadocC、javacD、cd答案: C11.在Java中,子类欲访问父类中被覆盖的成员方法,需要使用什么方法来实现()。

《JAVA设计模式》期末考试复习资料

《JAVA设计模式》期末考试复习资料

《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、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

《JAVA程序设计》期末考试复习资料

《JAVA程序设计》期末考试复习资料

《JAVA程序设计》期末考试复习资料一、填空题1.定义类的保留字是( class ),定义接口的保留字是( interface )。

2.Socket通常也称为 (套接字 ),用于描述( IP地址 ) 和 ( 端口 )。

3.线程的优先级在( 1 )至( 10 )之间,数值越大( 任务越紧急 )。

4.构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。

5.Java语言只允许单继承,指每个类只能有一个 ( 父类)。

6.Java源程序的扩展名是(.java ),经过编译后的程序的扩展名是( .class )。

7. 在一个时间只能由一个线程访问的资源称为 ( 临界资源 ) 。

访问临界资源的代码(临界代码 )。

8. 在多线程系统中,多个线程之间有 ( 同步 ) 和 ( 互斥 ) 两种关系。

1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。

2、Java程序中的单行注释符是(//),多行注释符是(/* */ )。

3、Java中布尔类型的常量有两种,它们是(true)和(false)。

4、Java中用于定义小数的关键字有两个:(float)和(double),后者精度高于前者。

5、Java中用于两个数相等比较的运算符是:(==),用于不相等比较的运算符是(<>)。

6、在Java中定义一个字符串类型的变量str的语句是:(String str;),定义一个具有10个元素的整型数组a的语句是:(int [ ] r = new int[10];)。

7、导入mypackage包中的所类的命令是(import mypackage.*;)。

8、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。

9、假设x=13,y=4,则表达式x%y != 0的值是(true),其数据类型是(boolean)。

设计模式期末复习

设计模式期末复习

设计模式期末复习题1、以下哪个模式是利用一个对象,快速地生成一批对象:()A.抽象工厂(Abstract Factory)模式B.组合(Composite)模式C.原型(Prototype)模式D.桥接(Bridge)模式2、要针对接口编程,不要针对实现编程是()原则的一种表述。

A.里氏代换B. 依赖倒转C.接口隔离D.迪米特3、“不要和陌生人说话” 是( )原则的通俗表述A.开闭B.里氏代换C.合成复用D.迪米特4、关于继承表述错误的是:()A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。

B.泛化类(超类)可以显式地捕获那些公共的属性和方法。

特殊类(子类)则通过附加属性和方法来进行实现的扩展。

C.破坏了封装性,因为这会将父类的实现细节暴露给子类。

D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类5、当想使用一个已经存在的类,但其接口不符合需求时,可以采用()设计模式将该类的接口转换成我们希望的接口A. 命令(Command)B. 适配器(Adapter)C.装饰(Decorator)D.桥接(Bridge)6、对于依赖倒转的表述错误的是()A.依赖于抽象而不依赖于具体,也就是针对接口编程。

B.依赖倒转的接口并非语法意义上的接口,而是一个类对其他对象进行调用时,所知道的方法集合。

C.从选项B的角度论述,一个对象可以有多个接口。

D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。

而且不必知道所示用的对象是那个实现类的实例。

E.此题没有正确答案。

7、Java的异常处理机制可理解为哪一种行为模式。

A.观察者(Observer)模式B.迭代器(Iterator)模式C.职责链(Chain of Responsibility)模式D.策略(Strategy)模式8、( )不是桥接模式所适用的场景A. 一个可以跨平台并支持多种格式的文件编辑器B. 一个支持多数据源的报表生成工具,可以以不同图形方式显示报表信息C. 一个可动态选择排序算法的数据操作工具D. 一个可以支持多种编程语言的跨平台开发工具9、下图描述了一种设计模式,该模式不可以()A. 动态决定由一组对象中某个对象处理该请求B. 动态指定处理一个请求的对象集合,并高效率地处理一个请求C. 使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合D. 将对象连成一条链,并沿着该链传递请求10、在()时无须使用命令模式A. 实现撤消操作和恢复操作B. 将请求的发送者和接收者解耦C. 不改变聚合类的前提下定义作用于聚合中元素的新操作D. 在不同的时刻指定请求,并将请求排队11. 中介者模式中通过中介者来将同事类解耦,这是()的具体应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《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、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。

C、将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

D、动态地给一个对象增加一些额外的职责。

11.以下用来描述命令模式是()A、将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。

B、定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换,本模式使得算法可独立于使用它的客户而变化。

C、为其他对象提供一种代理以控制对这个对象的访问。

D、保证一个类仅有一个实例,并提供一个访问它的全局访问点。

12.以下关于创建型模式说法正确的是()A、创建型模式关注的是对象的创建方法B、创建型模式关注的是功能的实现方法C、创建型模式关注的是组织类和对象的常用方法D、创建型模式关注的是对象间的协作13.以下用来描述装饰模式的是()A、运用共享技术有效地支持大量细粒度的对象B、用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象C、将抽象部分与它的实现部分分离,使它们都可以独立地变化D、动态地给一个对象添加一些额外的职责14.不应该强迫客户依赖于它们不用的方法,是关于( )的表述。

A、开-闭原则B、接口隔离原则C、里氏替换原则D、依赖倒置原则15.以下用来描述外观模式的是( )A、为子系统中的一组接口提供一个一致的界面,本模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。

C、保证一个类仅有一个实例,并提供一个访问它的全局访问点。

D、在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。

样以后就可将该对象恢复到原先保存的状态。

16.以下意图哪个是用来描述桥梁模式()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

B、将抽象部分与它的实现部分分离,使它们都可以独立地变化。

C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

D、动态地给一个对象添加一些额外的职责。

17.开闭原则的含义是一个软件实体()A、应当对继承开放,对实现关闭.B、应当对修改开放,对扩展关闭C、应当对扩展开放,对修改关闭D、以上都不对18.以下哪个用来描述建造者模式()A、定义一个用于创建对象的接口,让子类决定实例化哪一个类B、保证一个类仅有一个实例,并提供一个访问它的全局访问点。

C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

D、运用共享技术有效地支持大量细粒度的对象。

19.以下哪个不属于设计模式的要素()A、模式名称B、问题C、因素D、环境20.以下不属于结构型模式的是()A、代理模式B、工厂方法模式C、适配器模式D、享元模式1-5 BDADB6-10 DCBBC 11-15 AADBA 16-20 BCCCB21.关于模式应用场景,在以下哪种情况适合使用组合模式()A、你想使用一个已经存在的类,而它的接口不符合你的需求。

B、当一个类的实例只能有几个不同状态组合中的一种时。

C、你想表示对象的部分-整体层次结构。

D、一个对象的行为取决于它的状态,并且它必须在运行时根据状态改变行为。

22.Java的异常处理机制可理解为哪一种行为模式()A、观察者模式B、迭代器模式C、职责链模式D、策略(Strategy)模式23.当创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。

A、结构型B、创建型C、行为型D、以上都可以24.以下哪个用来描述建造者模式()A、定义一个用于创建对象的接口,让子类决定实例化哪一个类B、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

C、保证一个类仅有一个实例,并提供一个访问它的全局访问点。

D、运用共享技术有效地支持大量细粒度的对象。

25.设计模式的两大主题是()A、系统的维护与开发B、对象组合与类的继承C、系统架构与系统开发D、系统复用与系统扩展26.要依赖于抽象,不要依赖于具体,即针对接口编程,不要针对实现编程,是()的表述。

A、开闭原则B、接口隔离原则C、里氏替换原则D、依赖倒置原则27.以下意图哪个是用来描述桥梁模式()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

B、将抽象部分与它的实现部分分离,使它们都可以独立地变化。

C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

D、动态地给一个对象添加一些额外的职责。

28.以下意图哪个是用来描述抽象工厂模式()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。

C、将一个类的接口转换成客户希望的另外一个接口。

D、表示一个作用于某对象结构中的各元素的操作。

29.开闭原则的含义是一个软件实体()A、应当对扩展开放,对修改关闭.B、应当对修改开放,对扩展关闭C、应当对继承开放,对修改关闭D、以上都不对30.对于违反里氏替换原则的两个类,可以采用的候选解决方案错误的是:()A、创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B行为不完全一致的问题。

B、将B到A的继承关系改组成委派关系。

C、区分是“Is-a”还是”Has-a”。

如果是“Is-a”,可以使用继承关系,如果是”Has-a”应该改成委派关系D、以上方案错误31.以下意图那个是用来描述ADAPTER(适配器)?()A、将一个类的接口转换成客户希望的另外一个接口,本模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。

C、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

D、将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。

32.“不要和陌生人说话”是()原则的通俗表述。

A、接口隔离B、里氏替换C、依赖倒置D、迪米特33.以下关于创建型模式说法正确的是()A、创建型模式关注的是对象的创建B、创建型模式关注的是功能的实现C、创建型模式关注的是组织类和对象的常用方法D、创建型模式关注的是对象间的协作34.关于模式适用性,在以下情况不适合使用享元模式?()A、一个应用程序使用了大量的对象。

B、完全由于使用大量的对象,造成很大的存储开销。

C、对象的大多数状态都可变为外部状态。

D、你想使用一个已经存在的类,而它的接口不符合你的需求。

35.适配器模式是()原则的典型应用。

A、合成聚合复用原则B、里氏替换原则C、依赖倒置原则D、迪米特法则21-25.CCBBD 26-30.DBAAD 31-35.ADADA二、填空题1、设计模式分为____创建型___、____行为型_____、_____结构型______三大类型。

2、设计模式中的六个主要原则主要包括:单一职责原则、依赖倒置原则、___里氏替换原则____、____接口隔离原则___、迪米特法则和开闭原则。

3、设计模式中,对迪米特法则进行应用的设计模式有外观模式和____中介者模式_____。

4、__装饰模式____模式用于动态地给一个对象添加一些额外的职责。

5、___外观模式____模式要求一个子系统的外表与其内部的通信必须通过一个统一的对象进行。

6、___桥梁模式___模式的定义是将抽象和现实解耦,使得两者可以独立地变化。

7、___观察者模式__模式定义对象间一种一对多的关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。

8、___行为____型模式主要用于描述对类或对象怎样交互和怎样分配职责。

9、组合模式属于___结构型____型模式、原型模式属于___创建型____型模式。

10、__模板方法__ 模式定义一个操作中的算法框架,将一些步骤延迟到子类中实现。

11、____装饰___ 模式用于动态地给一个对象添加一些额外的职责。

12、____外观____模式要求一个子系统的外表与其内部的通信必须通过一个统一的对象进行。

13、____策略____模式定义一组算法,将每个算法封装起来,并且使它们之间可以互换。

14、___备忘录___模式捕获一个对象的内部状态,并在该对象之外保存这个状态,以后可以将该对象恢复到原先保存的状态。

15、____适配器___模式将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

相关文档
最新文档