2022年设计模式期末复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年设计模式期末复习
设计模式期末复习题
1、以下哪个模式是利用一个对象,快速地生成一批对象:()
2、要针对接口编程,不要针对实现编程是()原则的一种表述。
A.
里氏代换B.依赖倒转C.接口隔离D.迪米特
3、“不要和陌生人说话”是()原则的通俗表述A.开闭B.里氏代换C.合成复用D.迪米特
4、关于继承表述错误的是:()
A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
B.泛化类(超类)可以显式地捕获那些公共的属性和方法。
特殊类(子类)则通过附加属性和方法来进行实现的扩展。
C.破坏了封装性,因为这会将父类的实现细节暴露给子类。
D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类
5、当想使用一个已经存在的类,但其接口不符合需求时,可以采用()设计模式将该类的接口转换成我们希望的接口
A.依赖于抽象而不依赖于具体,也就是针对接口编程。
B.依赖倒转的接口并非语法意义上的接口,而是一个类对其他对象进行调用时,所知道的方法集合。
C.从选项B的角度论述,一个对象可以有多个接口。
D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。
而且不必知道所示用的对象是那个实现类的实例。
E.此题没有正确答案。
7、Java的异常处理机制可理解为哪一种行为模式A.观察者(Oberver)模式B.迭代器(Iterator)模式
C.职责链(ChainofReponibility)模式
D.策略(Strategy)模式
8、()不是桥接模式所适用的场景
A.一个可以跨平台并支持多种格式的文件编辑器
B.一个支持多数据源的报表生成工具,可以以不同图形方式显示报表
信息C.一个可动态选择排序算法的数据操作工具D.一个可以支持多种编
程语言的跨平台开发工具
9、下图描述了一种设计模式,该模式不可以()A.动态决定由一组
对象中某个对象处理该请求
B.动态指定处理一个请求的对象集合,并高效率地处理一个请求
C.
使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合D.
将对象连成一条链,并沿着该链传递请求
1ClientHandler+handleRequet()-
ucceor1ConcreateHandlerA+handlerRequet()ConcreateHandlerB+handle Requet()
10、在()时无须使用命令模式A.实现撤消操作和恢复操作B.将请
求的发送者和接收者解耦
C.不改变聚合类的前提下定义作用于聚合中元素的新操作
D.在不同
的时刻指定请求,并将请求排队
11.中介者模式中通过中介者来将同事类解耦,这是()的具体应用。
A迪米特法则B接口隔离原则C里氏代换原则D合成复用原则
12、下面这句话隐含着()设计模式
我和妹妹跟妈妈说:“妈妈,我和妹妹在院子里面玩,饭做好了叫我
们一声。
“
A.Facade(外观)
B.ChainofReponibility(职责链)
C.Oberver(观
察者)D.Iterator(迭代器)
13、分析如下代码
publicclaTet{intbehaviour;//GetterandSetter.....
publicvoidhandleAll(){}
if(behaviour==0){
//doomething
}eleif(behaviour==1){
//doomething
}eleif(behaviour==2){
//doomething
}eleif(behaviour==3){}
...omemoreeleif...
//doomething
}
为了提高代码的扩展性和健壮性,可以使用()设计模式来进行重构。
A.Viitor(访问者)B.Facade(外观)C.Memento(备忘录)D.State(状态)
14、以下关于策略模式叙述错误的是()
A.策略模式是对算法的包装,是把算法的责任和算法本身分隔开,委
派给不同的对象管理
B.在Conte某t类中,维护了对各个ConcreteStrategy的引用实例,提供了一个接口供ConcreteStrategy存储数据
C.策略模式让算法独立于使用它的客户而变化
D.策略模式中,定义一系列算法,并将每一个算法封装起来,并让它
们可以相互替换
15、场景()不是状态模式的实例。
A.银行账户根据余额不同拥有不同的存取款操作
B.游戏软件中根据
虚拟角色级别的不同拥有不同的权限C.某软件在不同的操作系统中呈现
不同的外观D.会员系统中会员等级不同可以实现不同的行为、设计模式
具有的优点()。
A.适应需求变化B.程序易于理解
C.减少开发过程中的代码开发工作量D.简化软件系统的设计
2.下面属于结构模式的有()。
请从装饰、模板方法、外观、组合、桥接、观察者、责任链、抽象工厂、原型、建造者、命令11种模式中选择5种填入下列1-5的空缺中。
1、___模式可以在不改变一个对象本身的基础上给对象增加额外的新
行为。
2、___模式用原型实例指定创建对象的种类,并且通过拷贝这些原
型实例创建新的对象。
3、___模式将对象组合成树形结构以表示“部分-整体”的层次结构。
使得用户对单个对象和组合对象的使用具有一致性。
4、___模式定义对象间的一种一对多的依赖关系,当一个对象的状态
发生改变时,所有依赖于它的对象都得到通知并被自动更新。
5、___模式可以对发送者和接收者完全解耦,发送者与接收者之间没
有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道
如何完成请求。
6、常用的基本设计模式可以分为;创建型,___,___。
7、面向对象的八条基本原则包括:开闭原则,里式代换原则,合成
复用原则,迪米特法则以及___,____,____。
8、MVC架构是一个复杂的架构,其实现也显得非常复杂。
但是可以
综合多种模式,使得每个中间过程变得简单。
View层可以看作一棵树,
可由___实现View和Model之间的通信,可由___实现Controller控制View,可用___实现Model通常是一个调停者,可用___实现
9、某系统中用户可以自行选择某种排序算法(如选择算法、冒泡排序、插入排序)来实现排序操作,该系统的设计可以使用___设计模式。