《软件设计模式(一)》在线平时作业2-00001
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 40 分)
1.关于模式适用性, 以下( )不适合使用命令( Command )模式。
A.抽象出待执行的动作以参数化某对象,使用过程语言中的回调( callback )函数表达这种参数化机制
B.Java 语言中的AWT 的事件处理
C.在需要用比较通用和复杂的对象指针代替简单的指针的时候
D.一个系统需要支持交易( Transaction ),一个交易结构封装了一组数据更新命令
2.“不要和陌生人说话”是()原则的通俗表述。
A.接口隔离
B.里氏替换
C.依赖倒置
D.迪米特
3.以下意图( ) 可用来描述外观(Facade)。
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.抽象工厂模式( Abstract Factory )
B.适配器模式 (Adapter)
C.策略模式(Strategy)
D.外观模式(Fa?ade)
9.对违反里氏替换原则的两个类,可以采用的候选解决方案错误的是()
A.创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B行为不完全一致的问题
B.将B到A的继承关系改组成委派关系
C.区分是“is-a”还是has-a。如果是“is-a”,可以使用继承关系,如果是“has-a”应该改成委派关系
D.以上方案错误
10.要依赖于抽象,不要依赖于具体,即针对接口编程,不要针对实现编程,是()的表述
A.开闭原则
B.接口隔离原则
C.里氏替换原则
D.依赖倒置原则
二、多选题 (共 5 道试题,共 20 分)
11.以下有关抽象工厂( Abstract Factmy )模式的优点和缺点描述正确的是( )。
A.它分离了具体的类
B.它使得易于交换产品系列
C.它有利于产品的一致性
D.难以支持新种类的产品
12.2. 当应用工厂方法( Factory Method )模式时要考虑( )。
A.主要有两种不同的情况
B.参数化工厂方法
C.特定语言的变化和问题
D.使用模板以避免创建子类
13.以下属于行为对象模式的是( )。
A.装饰(Decorator)模式
B.迭代器(Iterator)模式
C.命令(Command)模式
D.中介者(Mediator)模式
14.关于模式适用性,以下( )适合使用职责链( Chain of Responsibility )模式。
A.有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定
B.在需要用比较通用和复杂的对象指针代替简单的指针的时候
C.用户想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求
D.可处理一个请求的对象集合应被动态指定
15.以下属于结构型模式的是( )。
A.代理(Proxy) 模式
B.合成(Composite)模式
C.命令(Command)模式
D.观察者(Observer)模式
三、判断题 (共 10 道试题,共 40 分)
16.Strategy(策略)模式的本质是在一个抽象类中封装一个算法并交替使用这些算法。
17.从本质上看,switch 语句可以达到和抽象工厂相同的效果。
18.Open-Close原则的含义是一个软件实体应当对扩展开放,对修改关闭。
19.大多数设计模式还让软件更具有可修改性。
20.Strategy模式可以用不同的方式调用所有的算法。
21.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
22.工厂方法模式中,子类负责定义创建对象的接口,父类则负责生成具体的对象。
23.Fa?ade 模式为子系统中的一组接口提供的界面可能不一致。
24.Adapter 模式不是必须针对某个接口进行设计。
25.一个抽象工厂对象总是要和一个具体工厂方法对象相结合。
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777