《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期末考试复习及部分答案

第一部分知识点复习第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设计模式》期末考试复习

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

2024JAVA期末复习提纲

2024JAVA期末复习提纲

2024JAVA期末复习提纲一、Java基础知识1. Java的发展历程和特点2. Java的编译与运行过程3. Java开发环境的搭建4. Java基本语法和语句5.数据类型和变量6.运算符和表达式7.流程控制语句8.数组和字符串9.类和对象10.方法和函数11.异常处理12.输入输出流13.类的继承和接口的使用二、面向对象编程1.面向对象编程的基本概念和特点2.类与对象的关系3.类的成员变量和成员方法4.封装、继承和多态5.抽象类和接口的使用6.类的组合和关联7.内部类和匿名类的使用三、集合框架和泛型1.集合框架的基本概念和作用2.集合框架中的集合类和接口3. ArrayList、LinkedList、HashMap的使用4.迭代器和遍历集合5.泛型的概念和使用6.自定义泛型类和泛型方法四、多线程编程1.进程和线程的概念2.线程的创建和运行3.线程的同步和协作4.线程的基本方法和常用类5.线程池的使用五、网络编程1.网络编程的基本概念和原理2. Socket编程3.客户端和服务器的交互4. URL和URLConnection的使用5. HTTP协议和Servlet编程六、数据库编程1.数据库的基本概念和原理2.JDBC的概念和使用3.数据库的连接和操作4.SQL语句的编写和执行5.数据库事务的处理七、图形用户界面编程1. AWT和Swing的概念和特点2.GUI组件的使用3.事件处理和监听器4.布局管理器的使用5.图形界面设计和实现八、Web开发1.HTML和CSS的基本概念2. JavaScript的应用3. JSP和Servlet的概念和使用4.MVC设计模式5. Web应用的部署和调试以上是2024JAVA期末复习的提纲,按照这个提纲复习,应该能够对Java的基础知识、面向对象编程、集合框架和泛型、多线程编程、网络编程、数据库编程、图形用户界面编程和Web开发有一个较全面的了解。

希望能对你的复习有所帮助,祝你考试顺利!。

2023年JAVA语言程序设计期末考试试题及答案应考必备题库

2023年JAVA语言程序设计期末考试试题及答案应考必备题库

《JA V A语言程序设计》期末考试试题及答案4(应考必备题库)一、单选题1、下列程序段执行后的结果是( )。

String s = new String("abcdefg");for (int i=0; i<s.length(); i+=2){System.out.print(s.charAt(i));}A)aceg B) ACEG C) abcdefg D) abcd二、单选题1、下列程序段执行后的结果是( )。

String s = new String("abcdefg");for (int i=0; i<s.length(); i+=2){System.out.print(s.charAt(i));}B)A) aceg B) ACEG C) abcdefg D) ab2、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ).A) 2 7 8 12 35 B) 12 35 8 7 2C) 35 12 8 7 2 D) 8 7 12 35 23、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文献夹下的文献1.txt。

File构造函数中对的的途径和文献名的表达是( )。

File f = new File(填代码处);file =new FileReader(f);in=new BufferedReader(file);A) "./1.txt" B) "../my/1.txt" C) "c:\\my\\1.txt" D) "c:\ my\1.txt"4、应用程序的main方法中有以下语句,则输出的结果是( )。

String s1=new String("abc");String s2=new String("abc");boolean b1=s1.equals(s2);boolean b2=(s1==s2);System.out.print(b1+" "+b2);A)true false B) false true C) true true D)false false5、应用程序的main方法中有以下语句,则输出的结果是( )。

JAVA语言程序设计期末考试试题及答案

JAVA语言程序设计期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案1(应考必备题库)一、单选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。

A. javaB. .classC. htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。

A. 3B. 3. 5C. 4D. 53、不允许作为类及类成员的访问控制符的是( C )。

A. publicB. privateC. staticD. protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。

A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。

2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。

3、设x = 2 ,则表达式( x + + )/3 的值是0 。

4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。

5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。

最终(final)方法是不能被当前类的子类重新定义的方法。

6、创建一个名为MyPackage 的包的语句是package MyPackage ; ,该语句应该放在程序的位置为:应该在程序第一句。

7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

java设计模式期末试题及答案

java设计模式期末试题及答案

java设计模式期末试题及答案一、单选题(共10题,每题2分,共计20分)1. 设计模式是一套用于解决软件设计问题的**经验**。

A) 规范B) 经验C) 原则D) 方法2. 下列哪种设计模式用于将对象的创建与使用分离,隐藏对象的创建细节。

A) 工厂方法模式B) 抽象工厂模式C) 单例模式D) 原型模式3. 下列哪种设计模式用于定义一系列算法,将每个算法都封装起来,并且使它们可以相互替换。

A) 策略模式B) 观察者模式C) 适配器模式D) 迭代器模式4. 下列哪种设计模式用于为一个复杂子系统提供一个简单接口。

A) 装饰者模式B) 外观模式C) 代理模式D) 桥接模式5. 下列哪种描述在对象结构中递归地定义了一组对象的方式。

A) 访问者模式B) 组合模式C) 责任链模式D) 迭代器模式6. 下列哪种设计模式用于将对象之间的解耦合,并且避免相互紧耦合。

A) 原型模式B) 装饰者模式C) 命令模式D) 中介者模式7. 下列哪种设计模式用于提供一种机制,使得对象可以在其状态发生改变时通知其他对象。

A) 观察者模式B) 适配器模式C) 解释器模式D) 规则模式8. 下列哪种设计模式用于将对象的状态保存在外部对象中,并且可以根据需要恢复对象的状态。

A) 备忘录模式B) 状态模式C) 命令模式D) 中介者模式9. 下列哪种设计模式用于为一组相关或者相互依赖的对象提供一个封装访问接口。

A) 代理模式B) 过滤器模式C) 桥接模式D) 抽象工厂模式10. 下列哪种设计模式用于将复杂对象的构建与其表现分离开来,以便同样的构建过程可以创建不同的表现。

A) 生成器模式B) 解释器模式C) 迭代器模式D) 模板方法模式二、简答题(共5题,每题4分,共计20分)1. 简要介绍工厂方法模式的核心思想及应用场景。

答:工厂方法模式的核心思想是定义一个用于创建对象的工厂接口,让子类决定实例化哪个类。

在工厂方法模式中,我们将对象的创建与使用分离开来,隐藏对象创建的细节。

《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. 中介者模式中通过中介者来将同事类解耦,这是()的具体应用。

java期末考试复习题及答案

java期末考试复习题及答案

《Java程序设计》课程试卷1.使用Java语言编写的源程序保存时的文件扩展名是(B )。

(A).class (B).java (C).cpp (D).txt2.设int a=-2,则表达式a>>>3的值为( C )。

(A)0 (B)3 (C)8 (D)-13.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。

(A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1;a[i];4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。

(A)封装(B)继承(C)覆盖(D)重载5.在类的定义中构造函数的作用是( D )。

(A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量6.下面关键字中,哪一个不是用于异常处理语句(B )。

(A)try (B)break (C)catch (D)finally7.类与对象的关系是(A )。

(A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例8.下面哪一个是Java中不合法的标识符(D )。

(A)$persons (B)twoNum (C)_myVar (D)*point9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。

(A)static void method( ) (B)public void method( )(C)final void method( ) (D)abstract void method( )10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。

(A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( )(C)ArrayList myList=new List( ) (D)List myList=new List( )11.Java源文件和编译后的文件扩展名分别为( B )(A) .class和.java (B).java和.class(C).class和.class (D) .java和.java12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。

java程序设计期末考试试题汇总及答案

java程序设计期末考试试题汇总及答案

java程序设计期末考试试题汇总及答案Java程序设计期末考试试题汇总及答案在学习Java程序设计的过程中,期末考试是一个重要的评估学生掌握程度的方式。

为了帮助同学们更好地复习和准备考试,本文将汇总一些常见的Java程序设计期末考试试题,并提供相应的答案和解析。

一、基础知识题1. 什么是Java?答案:Java是一种面向对象的编程语言,由Sun Microsystems公司于1995年推出。

它具有跨平台的特性,可以在不同的操作系统上运行。

2. Java的特点有哪些?答案:Java具有简单、面向对象、跨平台、安全、高性能、可移植等特点。

3. Java的基本数据类型有哪些?答案:Java的基本数据类型包括byte、short、int、long、float、double、char 和boolean。

4. Java中的循环结构有哪些?答案:Java中的循环结构有for循环、while循环和do-while循环。

5. 什么是异常处理?答案:异常处理是指在程序运行过程中,如果出现异常情况,可以通过捕获和处理异常来保证程序的正常运行。

二、编程题1. 编写一个Java程序,求1到100之间所有偶数的和。

答案:```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("1到100之间所有偶数的和为:" + sum); }}```2. 编写一个Java程序,判断一个字符串是否是回文字符串。

答案:```javapublic class Palindrome {public static void main(String[] args) {String str = "level";boolean isPalindrome = true;for (int i = 0; i < str.length() / 2; i++) {if (str.charAt(i) != str.charAt(str.length() - 1 - i)) {isPalindrome = false;break;}}if (isPalindrome) {System.out.println(str + "是回文字符串");} else {System.out.println(str + "不是回文字符串");}}}```三、综合应用题1. 编写一个Java程序,实现一个简单的学生信息管理系统,要求能够添加学生信息、查询学生信息、删除学生信息和修改学生信息。

java设计模式期末考试和答案

java设计模式期末考试和答案

java设计模式期末考试和答案## Java设计模式期末考试和答案### 一、选择题(每题2分,共10分)1. 以下哪个不是设计模式的分类?A. 创建型模式B. 结构型模式C. 行为型模式D. 功能型模式**答案:D**2. 单例模式属于哪种类型的设计模式?A. 创建型模式B. 结构型模式C. 行为型模式D. 功能型模式**答案:A**3. 以下哪个设计模式不是创建型模式?A. 工厂方法模式B. 抽象工厂模式C. 建造者模式D. 观察者模式**答案:D**4. 策略模式属于哪种类型的设计模式?A. 创建型模式B. 结构型模式C. 行为型模式D. 功能型模式**答案:C**5. 以下哪个不是结构型模式?A. 适配器模式B. 装饰器模式C. 代理模式D. 命令模式**答案:D**### 二、填空题(每题2分,共10分)1. 工厂方法模式中,工厂方法是一个______方法,用于创建______对象。

**答案:接口;具体产品**2. 建造者模式中,Director类负责______产品的构建过程,Builder类定义______产品对象的内部表示。

**答案:指导;创建**3. 代理模式中,Subject接口定义了______和______两个角色需要实现的方法。

**答案:RealSubject;Proxy**4. 观察者模式中,当______对象状态发生改变时,会通知所有______对象。

**答案:Subject;Observer**5. 策略模式中,Context类持有一个______对象的引用,用于执行算法。

**答案:Strategy**### 三、简答题(每题10分,共30分)1. 请简述单例模式的实现方式,并说明其优缺点。

**答案:**单例模式的实现方式通常有两种:懒汉式和饿汉式。

懒汉式在第一次调用时创建实例,而饿汉式在类加载时就创建实例。

优点是保证了全局只有一个实例,并提供一个全局访问点。

缺点是如果实例化对象需要很多资源,那么在不需要时也会占用这些资源。

java设计模式期末复习题

java设计模式期末复习题

java设计模式期末复习题一、选择题(每题2分,共20分)1. 以下哪个不是Java设计模式的分类?A. 创建型模式B. 结构型模式C. 行为型模式D. 功能型模式2. 单例模式属于哪种设计模式?A. 创建型模式B. 结构型模式C. 行为型模式D. 并发型模式3. 工厂方法模式与简单工厂模式的区别是什么?A. 工厂方法模式使用接口B. 简单工厂模式使用继承C. 工厂方法模式使用多态D. 所有选项都正确4. 代理模式的主要作用是什么?A. 控制对象的创建B. 为其他对象提供一种代理以控制对它的访问C. 增加对象的职责D. 保持对象之间的低耦合5. 观察者模式中的“观察者”是指什么?A. 被观察的对象B. 观察其他对象的对象C. 通知其他对象的对象D. 所有选项都正确6. 装饰者模式与适配器模式的区别是什么?A. 装饰者模式动态地添加职责B. 适配器模式将一个类的接口转换成客户端所期望的另一种接口C. 装饰者模式使用继承D. 所有选项都正确7. 策略模式的主要目的是?A. 定义算法族,分别封装起来,让它们之间可以互相替换B. 封装变化C. 减少类的数量D. 实现多态8. 命令模式的主要优点是什么?A. 将请求封装成对象B. 将操作与接收者解耦C. 增加对象的职责D. 所有选项都正确9. 迭代器模式用于解决什么问题?A. 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示B. 增加对象的职责C. 封装变化D. 实现多态10. 组合模式的主要作用是什么?A. 将对象组合成树形结构以表示“部分-整体”的层次结构B. 封装变化C. 增加对象的职责D. 所有选项都正确二、简答题(每题10分,共30分)1. 请简述建造者模式的用途和优点。

2. 适配器模式在实际开发中有哪些应用场景?3. 模板方法模式与策略模式有何不同?三、应用题(每题25分,共50分)1. 假设你需要设计一个系统,该系统需要支持多种支付方式(如支付宝、微信支付、银行转账等)。

《JAVA设计模式》期末试题(A卷)

《JAVA设计模式》期末试题(A卷)

《JAVA设计模式》期末试题(A卷)2010级《JAVA设计模式》期末试题 (模拟考卷)⼀、选择题(15题×2分=30分)1、设计模式⼀般⽤来解决什么样的问题________A.同⼀问题的不同表相B不同问题的同⼀表相C.不同问题的不同表相D.以上都不是2、设计模式的两⼤主题是________A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复⽤与系统扩展3、下列不属于设计模式的要素的是_________A.模式名称 B 问题 C.因素 D.环境4、Open-Close原则的含义是⼀个软件实体_______A.应当对扩展开放,对修改关闭B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对5、要依赖于抽象,不要依赖于具体。

即针对接⼝编程,不要针对实现编程,是__________原则的表述A.开-闭原则B.接⼝隔离原则C.⾥⽒代换原则D.依赖倒置原则6、“不要和陌⽣⼈说话”是_________的通俗表述A.接⼝隔离原则B.⾥⽒代换原则C.依赖倒转原则D.迪⽶特法则7、以下关于创建型模式说法正确的是___________。

A.创建型模式关注的是对象的创建B.创建型模式关注的是功能的实现C.创建型模式关注的是组织类和对象的常⽤⽅法D.创建型模式关注的是对象间的协作8、下列模式中,属于⾏为模式的是_______A.⼯⼚模式B观察者C适配器D以上都是9、不属于创建型模式的是________A.⼯⼚模式B策略模式 C建造者模式D原型模式10、下⾯的类图表⽰的是哪个模式?________A.抽象⼯⼚模式 B.⼯⼚⽅法模式C.命令模式D.责任链模式11、⼯⼚⽅法模式的核⼼⾓⾊是________A.抽象产品B.具体产品C.抽象⼯⼚D.具体⼯⼚12、若系统中的某⼦模块需要为其它模块提供访问不同数据库系统(Oracle、SQL Server、DB2等)的功能,这些数据库系统提供的访问接⼝有⼀定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进⾏查询,________设计模式可抽象出相同的数据库访问过程。

[14_15(2)]12(1)班《Java设计模式》期末A卷(答案)

[14_15(2)]12(1)班《Java设计模式》期末A卷(答案)

— —
D. 策略(Strategy)模式

线


3. 当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( B )
— —

模式。 A.结构型
B.创建型

C.行为型

D.以上都可以



4.以下意图哪个是用来描述 BUILDER(建造者)?( B )
— — —
A.定义一个用于创建对象的接口,让子类决定实例化哪一个类 B.将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不
D.难以支持新种类的产品



— —
得 分 阅卷教师 三



三、填空题:(20 分,每空 2 分)


1.( 行为型模式 )主要用于描述对类或对象怎样交互和怎样分配职责。
— —
2. 组合模式属于(结构型)模式、原型模式属于(创建型)模式。

3.适配器模式,分为类适配器和对象适配器两种实现。其中类适配器采用的是
— —
得 分 阅卷教师




— —
四、程序分析题:(10 分)
— —
厨 具 工 厂 WareFactory 能 生 产 和 管 理 饭 碗 bowl 和 杯 子 cup 等 厨 具


《Java 设计模式》期末考试试卷(A 卷)第 5 页 共 9 页


KitchenWare,现已画好了以下类图,按要求完成以下任务。
系统进行交互。
5.在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。主
要体现在 ( A,D )

Java期末考试复习题目和答案

Java期末考试复习题目和答案

Java期末考试复习纲要一、填空题1.目前SUN公司把Java平台划分成J2ME,J2SE,J2EE三个开发平台,其中J2EE 主要为企业计算提供一个应用服务器的运行开发平台。

2.Java语言具有丰富的数据类型,其中长整型在机器中占64位,字符型占16位,单精度型占32位,不同类型的数据进行计算,Java会进行自动类型转换,转换的原则是占位少的类型转换为占位多的类型。

3.在面向对象Java的程序设计中,对于类中的成员,其访问控制的修饰符有public private, private protected, protected其中protected成员可以为本类以及其派生类成员访问。

4.当一个类被声明为final时,则它不能派生子类,在类的定义中,访问父类相同成员可以使用关键字super,被声明为abstract的类称为抽象类。

5.流分为字符流和字节流,可以通过创建从基类InputStream,OutputStream类派生出来的类来打开或操作文件。

6.结构化程序设计中有三种基本结构他们是顺序结构,选择结构,循环结构,而面向对象的程序设计通过设计类实现信息隐蔽。

7.Java源程序中要实现一个叫MyPackage的包,其语句是package MyPackage位,要引入java.awt中的所有类到当前文件的语句是import java.awt.*位,Java的多分支选择语句是switch语句,String s = “abc”+“come”;执行结束后s的值是abccome。

二、判断题1.Java 编程中,Java编译器会将Java程序转换为机器码(错)。

2.在类的生命中,被定义为私有数据可以被派生类成员访问(错)3.类必须有显式的构造函数。

(错)4.若要将类写入文件可以使用流类FileOutputStream.(对)5.对Java程序进行编译使用的程序是java.exe。

(错)6.在Java中多行语句注释以//开始。

java程序设计期末复习资料

java程序设计期末复习资料

一、题型与分值分布1、填空题〔10小题,10分〕2、单项选择题〔15小题,30分〕3、简答题〔2小题,10分〕4、程序填空题〔7小题,40分〕5、程序设计题〔1小题,10分〕二、知识点1、使用main方法的参数args,接收用户的输入。

【例题】设有如下代码:public class Test{public static void main(String args[]) {System.out.println(args[2]越界)在命令行输入命令“java Test hello world〞,那么运行过程中出现异常“ng.ArrayIndexOutOfBoundsException: 2〞2、按位运算符:|【例题】执行下面语句,输出结果将为多少?byte b = 10; // 00001010 二进制byte c = 15; // 00001111二进制System.out.println(b | c);153、for语句、switch…case语句、if语句的工作原理。

【例题】有如下代码段:switch ( x ){case 1:System.out.println("One");break;case 2:case 3:System.out.println("Two");break;default:System.out.println("end");变量x的取值为多少时,能使程序输出"Two" ?〔2,3 〕4、当字符串与其他类型的数据进展“+〞运算,得到的结果是字符串型的数据。

【例题】请分析以下语句的输出结果。

System.out.println(" " + 2 + 3); 2,3System.out.println(2 + 3); 5System.out.println(2 + 3 +"");5System.out.println(2 + "" +3); 2,35、两个int型的数据相除的结果是int型。

《JAVA设计模式》期末试题 (A卷)

《JAVA设计模式》期末试题 (A卷)

2010级《JAVA设计模式》期末试题 (模拟考卷)一、选择题(15题×2分=30分)1、设计模式一般用来解决什么样的问题________A.同一问题的不同表相B不同问题的同一表相C.不同问题的不同表相D.以上都不是2、设计模式的两大主题是________A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展3、下列不属于设计模式的要素的是_________A.模式名称 B 问题 C.因素 D.环境4、Open-Close原则的含义是一个软件实体_______A.应当对扩展开放,对修改关闭B.应当对修改开放,对扩展关闭C.应当对继承开放,对修改关闭D.以上都不对5、要依赖于抽象,不要依赖于具体。

即针对接口编程,不要针对实现编程,是__________原则的表述A.开-闭原则B.接口隔离原则C.里氏代换原则D.依赖倒置原则6、“不要和陌生人说话”是_________的通俗表述A.接口隔离原则B.里氏代换原则C.依赖倒转原则D.迪米特法则7、以下关于创建型模式说法正确的是___________。

A.创建型模式关注的是对象的创建B.创建型模式关注的是功能的实现C.创建型模式关注的是组织类和对象的常用方法D.创建型模式关注的是对象间的协作8、下列模式中,属于行为模式的是_______A.工厂模式B观察者C适配器D以上都是9、不属于创建型模式的是________A.工厂模式B策略模式 C建造者模式D原型模式10、下面的类图表示的是哪个模式?________A.抽象工厂模式 B.工厂方法模式C.命令模式D.责任链模式11、工厂方法模式的核心角色是________A.抽象产品B.具体产品C.抽象工厂D.具体工厂12、若系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQL Server、DB2等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,________设计模式可抽象出相同的数据库访问过程。

java设计模式考试及答案

java设计模式考试及答案

java设计模式考试及答案 Java设计模式考试及答案一、单选题1. 设计模式中,以下哪个模式是创建型模式?A. 观察者模式B. 策略模式C. 单例模式D. 装饰器模式答案:C2. 在Java中,以下哪个关键字用于实现单例模式?A. publicB. privateC. staticD. final答案:B3. 以下哪个设计模式是用于处理对象间的一对多关系?A. 工厂模式B. 观察者模式C. 策略模式D. 适配器模式答案:B4. 以下哪个设计模式允许一个对象在其内部状态改变时,通知其他依赖于它的对象?A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:C5. 以下哪个设计模式是用于将一个类的接口转换成客户期望的另一个接口?A. 工厂模式B. 观察者模式C. 适配器模式D. 策略模式答案:C二、多选题1. 以下哪些设计模式属于行为型模式?A. 单例模式B. 策略模式C. 装饰器模式D. 命令模式答案:BCD2. 以下哪些设计模式属于结构型模式?A. 工厂模式B. 观察者模式C. 适配器模式D. 装饰器模式答案:ACD3. 以下哪些设计模式是创建型模式?A. 单例模式B. 工厂模式C. 建造者模式D. 原型模式答案:ABCD4. 以下哪些设计模式是用于解决代码复用的?A. 工厂模式B. 策略模式C. 装饰器模式D. 适配器模式答案:AC三、判断题1. 工厂方法模式是一种创建型模式,它提供了一种创建对象的最佳方式。

(对)2. 适配器模式可以解决接口不兼容的问题。

(对)3. 观察者模式中,观察者和被观察者之间是一对一的关系。

(错)4. 装饰器模式可以动态地给一个对象添加一些额外的职责。

(对)5. 单例模式确保一个类只有一个实例,并提供一个全局访问点。

(对)四、简答题1. 请简述单例模式的实现方式。

答案:单例模式的实现方式主要有以下几种:- 懒汉式(线程不安全)- 懒汉式(线程安全)- 饿汉式- 双重检查锁定(DCL)- 静态内部类方式- 枚举方式每种方式都有其适用场景和优缺点,具体实现时需要根据实际需求选择。

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

《JAVA设计模式》复习资料、单项选择题1.设计模式起源于()A、机械设计C、水利工程设计2.“不要和陌生人说话”是(A、接口隔离B、里氏替换3.目前常见的设计模式主要有(A、 23B、 21B 、建筑工程设计D 、工业电力化设计)原则的通俗表述。

C、依赖倒置D、迪米特)种。

C、 32D、 284.以下关于单一职责原则的叙述不正确的是()。

A、单一职责原则的英文名称是Si ngle Respo nsibility Prin ciple.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 、享元模式21.关于模式应用场景,在以下哪种情况适合使用组合模式()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 、 表示一个作用于某对象结构中的各元素的操作。

1-5 BDADB6-10 DCBBC11-15 AADBA16-20 BCCCB )的表述。

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

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

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

如果是“ ls-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、 _策略—模式定义一组算法,将每个算法封装起来,并且使它们之间可以互换。

相关文档
最新文档