设计模式真题精选.docx
- 文档编号:7291709
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:18
- 大小:13.71KB
设计模式真题精选.docx
《设计模式真题精选.docx》由会员分享,可在线阅读,更多相关《设计模式真题精选.docx(18页珍藏版)》请在冰点文库上搜索。
设计模式真题精选
[单项选择题]
1、下列属于面向对象基本原则的是()
A.继承B.封装
C.里氏代换
D.都不是
参考答案:
C
[单项选择题]
2、要依赖于抽象,不要依赖于具体。
即针对接口编程,不要针对实现编程,是()的表述
A.开-闭原则
B.接口隔离原则
C.里氏代换原则
D.依赖倒转原则
参考答案:
D
[单项选择题]
3、设计模式的两大主题是()
A.系统的维护与开发
B.对象组合与类的继承
C.系统架构与系统开发
D.系统复用与系统扩展
参考答案:
D
[单项选择题]
4、“不要和陌生人说话”是()原则的通俗表述
A.接口隔离
B.里氏代换
C.依赖倒转
D.迪米特:
一个对象应对其他对象尽可能少的了解
参考答案:
D
[单项选择题]
5、对象适配器模式是()原则的典型应用。
A.合成聚合复用原则
B.里式代换原则
C.依赖倒转原则
D.迪米特法则
参考答案:
A
[单项选择题]
6、在观察者模式中,表述错误的是()
A.观察者角色的更新是被动的
B.被观察者可以通知观察者进行更新
C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。
D.以上表述全部错误
参考答案:
C
[单项选择题]
7、对于依赖倒转的表述错误的是()
A.依赖于抽象而不依赖于具体,也就是针对接口编程
B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法集合
C.从选项B的角度论述,一个对象可以有多个接口
D.实现了同一接口的对象,可以在运行期间,顺利地进行替换而且不必知道所示用的对象是那个实现类的实例
E.此题没有正确答案
参考答案:
E
[填空题]8在存在继承关系的情况下,方法向()方向集中,而数据向()方向集中。
参考答案:
超类;子类
[填空题]9创立型模式的根本意图是要把()和()的责任进行分离,从而降低系统的()
参考答案:
对象的创建;使用分离;耦合度
[填空题]10门面模式是()法则的典型运用。
参考答案:
迪米特[多项选择题]
11、以下是模式的基本要素的是()
A.名称
B.意图
C.解决方案
D.参与者和协作者
参考答案:
A,B,C,D
[多项选择题]
12、以下哪些问题通过应用设计模式能够解决()
A.指定对象的接口
B.排除软件BUG
C.确定软件的功能都正确实现
D.设计应支持变化
参考答案:
A,D
[单项选择题]
13、以下关于创建型模式说法正确的是()
A.创建型模式关注的是对象的创建
B.创建型模式关注的是功能的实现
C.创建型模式关注的是组织类和对象的常用方法
D.创建型模式关注的是对象间的协作
参考答案:
A
[多项选择题]
14、在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互主要体现在()
A.适配器(Adapte)模式
B.合成(Composite)模式
C.原型(Prototype)模式
D.桥接(Bridge)模式
参考答案:
A,D
[单项选择题]
15、行为类模式使用在类间分派行为()
A.接口
B.继承机制
C.对象组合D.委托
参考答案:
C
[单项选择题]
16、Observer(观察者)模式适用于()
A.当一个抽象模型存在两个方面,其中一个方面依赖于另一方面,将这二者封装在独立的对象中以使它们可以各自独立地改变和复用
B.当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变时
C.当一个对象必须通知其它对象,而它又不能假定其它对象是谁也就是说你不希望这些对象是紧密耦合的
D.一个对象结构包含很多类对象,它们有不同的接口,而想对这些对象实施一些依赖于其具体类的操作
参考答案:
C
[填空题]17什么是设计模式?
设计模式的目标是什么?
参考答案:
设计模式通常是对于某一类的软件设计问题的可重用的解决方案,将设计模式引入软件设计和开发过程,其目的就在于要充分利用已有的软件开发经验。
[填空题]18简述针对接口编程,不针对实现编程的意义。
参考答案:
主题与观察者都是用接口:
观察者利用主题的接口向主题注册,而主题利用观察者接口通知观察者。
这样可以让两者之间运作正常,又同时具有松耦合的优点。
[填空题]19简述耦合分为几种?
参考答案:
(1)内容耦合
(2)公共耦合
(3)外部耦合
(4)控制耦合
(5)标记耦合
(6)数据耦合
(7)非直接耦合
[单项选择题]
20、当一个抽象模型有两个方面,其中一个方面依赖于另一方面,将这两者封装在独立的对象中以使它们可以各自独立地改变和复用,可以考虑使用()
A.观察者模式
B.命令模式
C.适配器模式
D.单例模式
参考答案:
A
[单项选择题]
21、当需要在不同时刻指定、排列和执行请求是,可以考虑使用()。
A.命令模式
B.策略模式
C.适配器模式
D.责任链模式
参考答案:
A更多内容请访问《睦霖题库》微信公众号
[单项选择题]
22、希望创建一个可复用的类,该类必须能够与接口不可预订的类协同工作,可以考虑使用()
A.桥接模式
B.适配器模式
C.工厂模式
D.装饰模式
参考答案:
B
[单项选择题]
23、当客户程序与抽象类的实现部分之间存在很大的依赖性时,可以考虑使用()
A.单例模式
B.享元模式
C.工厂模式
D.外观模式
参考答案:
D
[单项选择题]
24、()是指以设计复用为目的,采用一种良好定义、正规的、一致的方式记录的软件设计经验。
A.架构
B.UML模型
C.设计模式D.设计数据
参考答案:
C
[单项选择题]
25、在面向对象的设计原则中,()表示软件实体应当对扩展开放,对修改关闭,即软件实体应当在不修改的前提下扩展。
A.单一责任原则
B.开放封闭原则
C.里氏替换原则
D.迪米特原则
参考答案:
B
[单项选择题]
26、关于适配器模式(Adapter)说法正确的是()
A.将抽象部分与实现部分分离,使得它们两部分可以独立地变化
B.将一个接口转换成为客户想要的另一个接口
C.组合多个对象形成树形结构以表示整体-部分的结构层次。
其对单个对象和组合对象的使用具有一致性
D.为其他对象提供一个代理或地方以控制对这个对象的访问
参考答案:
A
[单项选择题]
27、以下哪种设计模式最符合以下场景说明:
()
【电视节目选择器】电视提供了(creates)面板和遥控器两种节目选择方法,都具有“下一个”和“上一个”按钮来控制转到不同的频道。
A.责任链模式(ChainofResponsibility)
B.观察者模式(Observer)
C.模板方法模式(TemplateMethod)
D.迭代器模式(Iterator)
参考答案:
D
[单项选择题]
28、请说出以下是运用何种设计模式()
A.组合模式(Composite)
B.简单工厂模式(SimpleFactory)
C.工厂方法模式(FactoryMethod)
D.抽象工厂模式(AbstractFactory)
参考答案:
D
[单项选择题]
29、以下哪个设计模式是着重于一步步构造一个复杂对象并且是最后步骤才将返回此对象?
()
A.简单工厂模式(SimpleFactory)
B.抽象工厂模式(AbstractFactory)
C.建造者模式(Builder)
D.单例模式(Singleton)
参考答案:
C
[单项选择题]
30、适配器模式是()原则的典型应用。
A.合成聚合复用原则
B.里氏代换原则
C.依赖倒置原则
D.迪米特法则
参考答案:
A
[多项选择题]
31、从模式所提供的功能性来看,模式可以分为()
A.创建模式
B.测试模式
C.行为模式
D.结构模式
参考答案:
A,C,D
[多项选择题]
32、关于访问者模式(Visitor)的适用性以下哪些是正确的()
A.一个对象的结构包含多个不同接口的对象,并且需要根据具体对象作不同的处理
B.对结构中的对象有很多不同且没有联系的处理,因此需要避免操作将类分离
C.类中定义的对象结构很少改变,但需要以常地定义处理结构的新操作
D.需要对行为的算法作很多变动
参考答案:
A,B,C
[填空题]33请简述下,继承在程序设计中,存在的缺陷?
参考答案:
因为在使用继承时,父类的任何改变都可能影响子类的行为,没有助于保持每个类的单一职责原则。
[填空题]34您现负责通过文件操作的开发框架设计任务。
经过调研后,您发现公司已经封装好一个类专门用于提供txt,XML,Word,Excel文件操作的功能。
为了使得开发框架能最大的程度的复用,您该如何设计您的开发框架。
参考答案:
现提出几点技术意见:
1.本框架提供对各类文件(txt,XML,Word,Excel)的通用读取和写入功能。
2.在文件读写时,能支持字符转码和字符转字节这两个功能的热插拔。
3.在文件读写时,能支持处理过程动作自定义,即:
在文件读写正在进行中能加入业务功能。
例如:
每读取100个字节,则滚动条增加一格。
[填空题]35根据以下场景说明,请选用最佳的设计模式,并说明该设计模式的原理及其优缺点?
场景:
你与家人商量周末自驾一同前往海滩度假,以下是你和家人的对话.妹妹:
“我想把芭比娃娃带上车。
”我:
“好好,还有呢?
”妈妈:
“得把家里的个人日用品带上车。
”我:
“好好,还有呢?
”爸爸:
“车上得备上几瓶好酒。
”我:
“好好,还有呢?
”........到了周末,我把所有的东西一件一件装上车,一路颠簸终于到了海滩。
参考答案:
迭代子模式:
迭代子模式可以顺序访问一个聚集中的元素而不必暴露聚集的内部表象。
多个对象聚在一起形成的总体称之为聚集,聚集对象是能够包容一组对象的容器对象。
迭代子模式将迭代逻辑封装到一个独立的子对象中,从而与聚集本身隔开。
迭代子模式简化了聚集的界面。
每一个聚集对象都可以有一个或一个以上的迭代子对象,每一个迭代子的迭代状态可以是彼此独立的。
迭代算法可以独立于聚集角色变化。
[填空题]36()模式中,父类负责定义创建对象的公共接口,子类决定要创建的具体类是哪一个。
参考答案:
工厂方法
[填空题]37()模式将对象组合成树形结构以表示“部分-整体”的层次结构。
使得用户对单个对象和组合对象的使用具有一致性。
参考答案:
组合
[填空题]38()模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新,也就是让对象能在状态改变时被通知。
参考答案:
观察者
[填空题]39()模式包装对象,以控制对比对象的访问。
参考答案:
代理[填空题]40()允许一个对象基于内部状态而拥有不同的行为。
参考答案:
状态模式
[填空题]41观察者模式定义了对象之间()的关系。
参考答案:
一对多
[填空题]42()和()可用于运行时动态地加上新的行为。
参考答案:
组合;委托
[填空题]43抽象工厂方法使用()使对象的创建被实现在工厂接口所暴露出来的方法中。
参考答案:
对象组合
[填空题]44当需要一个现有的类而其接口不符合需求时,可使用()模式。
参考答案:
适配器
[填空题]45()定义了算法的步骤,把这些步骤的实现延迟到了子类。
参考答案:
模板方法
[填空题]46开闭原则:
(),()。
参考答案:
扩展开放;修改关闭
[单项选择题]
47、若系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQLServer、DB2UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,()设计模式可抽象出相同的数据库访问过程。
A.外观
B.装饰
C.单件D.模板方法
参考答案:
D
[多项选择题]
48、以下属于结构型模式的是()。
A.代理(Proxy)模式
B.合成(Composite)模式
C.命令(Command)模式
D.观察者(Observer)模式
参考答案:
A,B
[单项选择题]
49、行为类模式使用()在类间分派行为。
A.接口
B.继承机制
C.对象组合
D.委托
参考答案:
B
[判断题]
50、大多数设计模式还让软件更具有可修改性。
参考答案:
对
[判断题]
51、Adapter模式和Faade模式总是在别的什么东西创造的场景中被定义。
参考答案:
错
[判断题]
52、从Strategy模式的概念上来说,所有算法都做相同的工作,且拥有相同的实现。
参考答案:
错
[判断题]
53、每个Decorator对象在被装饰的功能之前或之后执行自己的附加功能。
参考答案:
对
[判断题]
54、设计模式使代码编制不能真正工程化。
参考答案:
错
[判断题]
55、Faade(外观)模式不仅可以为方法调用创建更简单的接口,还可以减少客户必须处理的对象数量。
参考答案:
对
[判断题]
56、Adapter模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。
参考答案:
对
[填空题]57模板
参考答案:
模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
[填空题]58设计模式的基本要素有哪些?
参考答案:
名称,意图,问题,解决方案,参与者和协作者,效果,实现,GOF参考。
[填空题]59四人团针对“创建优秀面向对象设计”建议了哪些策略?
参考答案:
针对接口编程,优先使用对象组合而不是类继承,找到并封装变化点。
[填空题]60Decorator(装饰)模式的效果是什么?
参考答案:
被添加的功能属于小的对象。
好处是可以在ConcreteComponent对象的功能之前或之后动态添加功能。
虽然一个装饰者可以在被装饰者之前或之后添加功能,但对象链总是以ConcreteComponent对象结束。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 模式 精选