2020年设计模式试卷

  • 格式:doc
  • 大小:55.18 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面()
A模式名称B问题C目的D解决方案E效果F实例代码G相关设计模式
3.简单工厂模式包含三个角色是()
A工厂角色B抽象产品口C具体产品角色D抽象接口角色
E生产者角色F用户角色GBiblioteka Baidu用者角色
6、设计模式的两大主题是()
A.系统的维护与开发B对象组合与类的继承
C.系统架构与系统开发D.系统复用与系统扩展
7、“不要和陌生人说话”是()原则的通俗表述
A.接口隔离B.里氏代换C.依赖倒转D.迪米特:一个对象应对其他对象尽可能少的了解
8、构造者的的退化模式是通过合并()角色完成退化的。
A.抽象产品B产品C创建者D使用者
B所有的具体工厂都实现了抽象工厂中定义的那些公共接口,因此只需改变具体工厂的实例,就可以在某种程度上改变整个软件系统的行为。
C应用抽象工厂模式可以实现高内聚低耦合的设计目的,因此抽象工厂模式得到了广泛的应用。
D增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。
E添加新的产品对象时,难以扩展抽象工厂来生产新种类的产品
5.建造者模式的优点有哪些()
A分步骤构建一个复杂的对象
B应对“复杂对象各个部分”的频繁需求变动
C用户使用不同的具体建造者即可得到不同的产品对象
D如果产品的内部变化复杂,可能会导致需要定义很多具体建造者类来实现这种变化,导致系统变得很庞大
E.此题没有正确答案。
12.现有5个产品族,分布于3各不同的产品等级结构,只要指明一个产品所处的产品族以及它所在的等级结构,就可以唯一地确认这个产品。那么使用抽象工厂方法模式只需要提供()个具体工厂即可。
A 5B 3C 8D 15E 1F 30G 4
13.抽象工厂模式的优点有()
A抽象工厂模式隔离了具体类的生成,使得客户并不需要知道什么被创建。
设计模式期中考试试题
一:单项选择(共20道,每道2分)
1、设计模式一般用来解决什么样的问题()
A.同一问题的不同表相B不同问题的同一表相
C.不同问题的不同表相D.以上都不是
2、下列属于面向对象基本原则的是()
A.继承B.封装C.里氏代换D都不是
3、Open-Close原则的含义是一个软件实体()
A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭
A构造方法私有化B使用默认构造方C构造方法静态化
D类私有化E类不允许被继承F类的方法不允许被访问
16.在笔记本电脑用电的例子中,属于适配器的是()
A充电器B插座C笔记本D笔记本电源插孔
17.桥接模式将继承关系转换为()关系,从而降低了类与类之间的耦合,减少了代码编写量
A关联B多态C实现D重构E抽象
18.组合模式描述了如何将容器对象和叶子对象进行()组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器对象和叶子对象
C.应当对继承开放,对修改关闭D.以上都不对
4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。
A.创建型B.结构型C行为型D.以上都可以
5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是()的表述
A.开-闭原则B.接口隔离原则
C.里氏代换原则D.依赖倒转原则
4.工厂方法模式与简单工厂模式相比的优点有()
A工厂方法模式很好的符合开闭原则
B工厂方法类模式中工厂类职责变轻,业务逻辑相对简单
C具体产品与工厂类之间的耦合降低
D工厂方法模式是简单工厂模式的进一步抽象和推广
E Factory类内的方法常使用静态方法
F只提供一个工厂类
G不需要考虑对象的具体创建细节
闭原则的倾斜性(增加新的工厂和产品族容易,增加新的产品等级结构麻烦)
二:多项选择题(共10道,每道3分)
1.以下说法错误的有()
A对于面向对象的软件系统设计来说,在支持可维护性的同时,需要提高系统的可复用性。
B迪米特法则要求一个软件实体应当尽可能多的与其他实体发生相互作用。
C单一职责原则要求在软件系统中,一个类只负责一个功能领域中的相应职责。
D开闭原则要求一个软件实体应当对扩展开放,对修改关闭,但是为了增强系统功能,可以随便的修改源代码。
C.依赖倒转原则D.迪米特法则D.以上表述全部错误。
11.对于依赖倒转的表述错误的是()
A.依赖于抽象而不依赖于具体,也就是针对接口编程。
B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法集合。
C.从选项B的角度论述,一个对象可以有多个接口。
D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。
F开闭原则的倾斜性(增加新的工厂和产品族容易,增加新的产品等级结构麻烦)
14.对于建造一辆汽车,使用建造者模式中ConcreteBulider(具体建造者)需要做的是()
A提供汽车的各个部件的构造和装配方法B建造汽车
C建造汽车部件并且组合成汽车D指挥汽车建造
E定义抽象接口
15单例模式的最主要的思想是()
9、以下关于简单工厂模式叙述错误的是()
A它属于GoF23种设计模式
B它是最简单的设计模式之一
C它是学习其他创建型模式的基础
D它只需要记住一个简单的参数即可获得所需对象的实例
E它类中的方法通常为静态方法
F它返回的类都有一个公共的父类和公共的方法
10、对象适配器模式是()原则的典型应用。
A.合成聚合复用原则B.里式代换原则
E里氏代换原则可以通俗表述为在软件中如果能够使用基类对象,那么一定能够使用其子类对象。
F依赖倒转原则要求抽象不应该依赖于细节,细节应该依赖于抽象;要针对接口编程,不要针对实现编程。
G接口隔离原则要求客户端不应该依赖那些它不需要的接口,即将一些大的接口细化成一些小的接口供客户端使用。
H合成复用原则要求复用时尽量使用继承,而不使用对象组合。
A递归B重构C并列D内置E关联
19.面向对象设计原则首先都是()的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。
A重载B复用C面向对象D封装E继承F多态G抽象
20.结构型模式分为类模式和对象模式,以下可以是类模式的是()
A适配器模式B桥接模式C组合模式D装饰模式
E外观模式F享元模式G代理模式