《设计模式解析》课程习题 2
一、简答题:
1.如果系统中存在两个以上的变化维度,是否可以使用桥接模式进行处理?如
果可以,系统该如何设计?
桥接模式可以处理存在多个独立变化维度的系统,每一个独立维度对应一个
继承结构, 其中一个为“抽象类”层次结构,其他为“实现类”层次结构,“抽
象类”层次结构中的抽象类与 “实现类”层次结构中的接口之间存在抽象耦合
关系。
2、设计模式有哪 4 个基本要素及有什么用途?
四个要素:模式名称、问题、解决方案、效果。
主要用途:使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可
维护性强;使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大
提高,从而缩短软件的开发周期;可以提高程序员的思维能力、编程能力和设计
能力。
3、在对象适配器中,一个适配器能否适配多个适配者?如果能,应该如何实现?
如果不能,请说明原因?如果是类适配器呢?
在对象适配器中,适配器与适配者之间是关联关系,一个适配器能够对应多
个适配者类, 只需要在该适配器类中定义对多个适配者对象的引用即可;在类
适配器中,适配器与适配者 是继承关系,一个适配器能否适配多个适配者类取
决于该编程语言是否支持多重类继承,例 如 C++语言支持多重类继承则可以适配
多个适配者,而 Java、C#等语言不支持多重类继承 则不能适配多个适配者。
二、常见的设计模式定义与结构图
➢ 工厂方法模式:
工厂方法模式(Factory Method Pattern):定义一个用于创建
对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一
个类的实例化延迟到其子类。