适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
一.适配器模式的结构
角色:
* 目标(Target):这就是所期待得到的接口。注意:由于这里讨论的是类适配器模式,因此目标不可以是类。
* 源(Adaptee):现有需要适配的接口。
* 适配器(Adapter):适配器类是本模式的核心。适配器把原接口转换成目标接口。显然,这一角色不可以是接口,而必须是具体类。
Target:
<code>public interface Target {
/**
* 这是原类也有的方法
*/
void sampleOperation1();
/**
* 这是原类没有的方法
*/
void sampleOperation2();
}/<code>
Adaptee:
<code>public class Adaptee {
/**
* 原类含有方法
*/
public void sampleOperation1(){}
}/<code>
Adapter:
<code>public class Adapter extends Adaptee implements Target {
/**
* 由于原类没有方法sampleOperation2
* 因此适配器类补充上这个方法
*/
@Override
public void sampleOperation2() {
}
}/<code>
二.在什么情况下使用适配器模式
1.系统需要使用现有的类,而此类的接口不符合系统的需要。
2.想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。
閱讀更多 執念媛 的文章