下列设计模式中, (请作答此空) 模式既是类结构型模式,又是对象结构型模式。此模式与 ( ) 模式类似特征是,都给另一个对象提供了一定程度上间接性,都涉及到从自身以外一个接口向这个对象转发请求。
适配器模式(Adapter)用于将一个类接口转换成客户希望另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。
适配器有类结构和对象结构两种模式,如下图所示。在类适配器中,因为Adapter类既继承了Adaptee(被适配类),也实现了Target接口,在Client类中我们可以根据需要选择并创建任一种符合需求子类,来实现具体功能。在对象适配器中,Adapter不是使用多继承或继承再实现方式,而是使用直接关联,或者称为委托方式。

装饰器模式用于动态地给一个对象添加一些额外职责或者行为。装饰器模式提供了改变子类灵活方案。装饰器模式在不必改变原类文件和使用继承情况下,动态地扩展一个对象功能。它是通过创建一个包装对象,也就是装饰来包裹真实对象。当用于一组子类时,装饰器模式更加有用。如果你拥有一组子类(从一个父类派生而来),你需要在与子类独立使用情况下添加额外特性,你可以使用装饰器模式,以避免代码重复和具体子类数量增加。









