一、填空题
1.适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是()
关系,而对象适配器采用的是()关系。
2.创立型模式的根本意图是要把()和()的责任进行分离,从而降低系统的
()。
3.MVC模型的基本工作原理是基于( )模式,实现是基于()模式.
4.设计模式的基本要素有()。
5.( )设计模式的意图是动态地给一个对象添加一些额外的职责。
6.使用继承处理对象间关系的设计模式包括:
( ) 、( ) 、( ) 和解释器模式。
7.软件体系结构是软件设计过程中的一个( ),这一层次超越计算过程中的算法设计和数据
结构设计。
8.所有设计原则的目标都是为了使软件: ( ) 、 ( ) 。
9.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。
10.当我们想将抽象部分和实现部分分离时,可以使用()模式。
11.设计模式中应优先使用的复用技术是()。
12.迭代器设计模式根据谁控制迭代可分为()、()。
13.ATAM中的场景分为()、()和考察场景。
14.C/S体系结构有三个主要组成部分:()、()、()。
15.MVC模型的基本工作原理是基于( )模式,实现是基于()模式.
16.设计模式的基本要素有()。
17.所有设计原则的目标都是为了使软件: ( ) 、 ( ) 。
18.()设计模式的意图是动态地给一个对象添加一些额外的职责。
19.Abstract Factory经常用()模式实现。
20.设计模式中应优先使用的复用技术是()。
21.Bridge模式将()和()分离,从而可以独立地改变它们。
22.ATAM中的场景分为()、()和考察场景。
23.C/S体系结构有三个主要组成部分:()、()、()。
24.当我们想封装不同算法并使它们可相互替换时,可以使用()模式。
25.设计时应该将()封装起来。
26.设计模式的基本要素有()。
27.所有设计原则的目标都是为了使软件: ( ) 、 ( ) 。
28.软件的( ) 指在软件设计和开发过程
中,不断总结出来的,反应了某一类设计问题的解决方案。
29.软件设计或编码的正确性是指()。
30.设计中用到两种类:()和(),通常从领域类开始类的选择,然后增加非领域类来满足设计目标。
31.软件设计模式中的()描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。
32. 软设计模式中的效果(consequences)描述了模式应用的()。
33.根据“模式是用来完成什么工作的”准则对模式进行分类为:()型、()型、()型设计模式。
34.创建型模式抽象了()。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。随着系统演化得越来越依赖于()而不是类继承,创建型模式变得更为重要。创建型模式在()被创建,()创建它,它是()被创建的,以及()创建这些方面给予你很大的灵活性。
二、选择题
1. 在观察者模式中,表述错误的是()
A.观察者角色的更新是被动的。
B.被观察者可以通知观察者进行更新
C.观察者可以改变被观察者的状态,再由
被观察者通知所有观察者依据被观察者的状态进行。
D.以上表述全部错误。
2. 对象组合的有点表述不当的是()
A. 容器类仅能通过被包含对象的接口来
对其进行访问。
B. “黑盒”复用,封装性好,因为被包含
对象的内部细节对外是不可见。
C. 通过获取指向其它的具有相同类型的
对象引用,可以在运行期间动态地定义(对象的)组合
D.造成极其严重的依赖关系。
3. 对于依赖倒转的表述错误的是()
A.依赖于抽象而不依赖于具体,也就是针
对接口编程。
B.依赖倒转的接口并非语法意义上的接
口,而是,一个类对其他对象进行调用时,所知道的方法集合。
C.从选项B的角度论述,一个对象可以有多个接口。
D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。
E.此题没有正确答案。
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.J2EE B.CORBA C..NET D.两层C/S
10、要依赖于抽象,不要依赖于具体。即针对接口
编程,不要针对实现编程,是( )的表述
A.开-闭原则
B.接口隔离原
则 C.里氏代换原则 D.依赖倒转原则
11.Open-Close原则的含义是一个软件实体( )
A.应当对扩展开放,对修改关闭.
B.应当
对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对
12、对于依赖倒转的表述错误的是()
A.依赖于抽象而不依赖于具体,也就是针对接口编程。
B.高层模块不应该依赖于低层模块。二者都应该依赖于抽象。
C.抽象不应该依赖于细节。
D.细节应该依赖于抽象。
E.此题没有正确答案。
13、对于模式的表述错误的是()
A.模式其实就是解决某一类问题的方法论。
B.把解决某类问题的方法总结归纳到理论高度,那就是模式。
C.模式对问题的描述以及对问题的解答应具有高度的抽象性和代表性。
D.模式只是一个模型。
14、描述设计模式中的意图是回答下列()问题的简单陈述:
A.设计模式是做什么的?
B.它的基本原理和意图是什么?
C.它解决的是什么样的特定设计问题?
D.上述所有问题。
15、创建型模式在()方面给予你很大的灵活性。
A、什么被创建。
B、谁创建它。
C、它是怎样被创建的。
D、何时创建。
E、以上所有方面。
16、对于结构型模式,下列描述正确的是()。
A、结构型模式涉及到如何组合类和对象以获得更大的结构。
B、结构型模式对类的实例化过程进行封装。
C、结构型模式只是采用继承机制来组合接口或实现。
D、结构型对象模式是对接口和实现进行组合。
三、判断题
1.在设计模式原则中里氏代换原则指出不要为了使用某些类的方法(功能)而滥用继承。
2.软件总是有体系结构的,不存在没有体系结构
的软件。
3.UML中用菱形和箭头线表示聚合。
4.软件设计原则之一是要使用继承,而不是组合。
5.DSSA是针对某个特定领域的体系结构样例。6.在设计模式原则中里氏代换原则指出为了使用某些类的方法(功能)而使用继承。
7.软件体系结构处理算法与数据结构之上的、关于整体系统结构设计和描述方面的一些问题。
8.软件的可重用性是指软件可以被重复运行多次。
9.在设计模式原则中里氏代换原则指出为了使用某些类的方法(功能)而使用继承。
10.客户机/服务器结构是一种分布式的体系结构。
11.软件的灵活性是指用户可以按多种方式使用该软件。
12.设计准则的正确性是指每个项目都要满足指定的需求,然后一起满足所有应用程序的需求。
13.软件设计过程中,问题越明确,就能提供越精
确的设计来解决问题。
14.实现软件设计正确性的正规方法是依靠数学逻辑。
15.软件开发过程中,通过防止设计和实现中的错误来提高健壮性。
16.设计或编码的健壮性是指容忍错误。
17.在软件设计时通常要考虑到将来的变化。18.为了提高软件的可重用性,可以避免不必要的封装类的耦合。
19.软件高效性是指应用程序必须在指定的时间内完成特定的功能,同样,对内存容量也有一定的要求。
20.在软件的健壮性、灵活性、可重用性与高效性之间的折中关系里,如果为了获得在效率方面的需求,那么会在可重用性方面作出折中。
21.软件灵活性是指易于修改。
22.模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。
23.设计模式使人们可以更加简单方便地复用成功的设计和体系结构。
24.设计模式帮助你从别人的成功经验而不是你
自己的失败那里学到更多东西。
25.设计模式提供了一种共享经验的方式,可以使团体受益和避免不断的重复发明。
26.Adapter(适配器)设计模式是将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
27.Bridge(桥)设计模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。
28.使用设计模式时应该首先大致浏览一遍模式,特别注意其适用性部分和效果部分,确定它适合你的问题。
29.设计模式可以确保系统能以特定方式变化,从而帮助避免重新设计系统。
30.每一个设计模式允许系统结构的某个方面的变化独立于其他方面,这样产生的系统对于某一种特殊变化将更健壮。
31.设计模式是比框架更小的体系结构元素一个典型的框架包括了多个设计模式,而反之决非如此。
32.
打卡制度