适配器模式:
定义:
适配器模式(Adapter Pattern)把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
结构分析:
说明:
Client:客户端,调用自己需要的领域接口Target
Target:定义客户端需要的跟特定领域接口
Adaptee:已经存在的接口,但与客户端要求的特定领域 接口不一致,需要适配
Adapter:适配器,但Adaptee适配为Client需要的Target
源码介绍:
Target接口:
//定义客户端使用的接口,与特定领域相关
public interface Target {
//客户端请求处理的方法
public void request();
}
Adapter类:
/*
* 适配器
*/
public class Adapter implements Target{
/*
* 持有需要被适配的接口对象
*/
private Adaptee adaptee;
/*
* 构造方法,传入需要被适配的对象
* @param:adaptee,需要被适配的对象
*/
public Adapter(Adaptee adaptee){
this.adaptee = adaptee;
}
public void request(){
//可能转调了已经实现的方法,进行适配
System.out.println("已经适配对象");
adaptee.specificRequest();
}
}
Adaptee类:
public class Adaptee {
//原本已经存在,已经实现的方法
public void specificRequest(){
//具体功能处理
}
}
Client类:
public class Client {
public static void main(String[] args){
//创建需要被适配的对象
Adaptee adaptee = new Adaptee();
//创建客户端需要调用的接口对象
Target target = new Adapter(adaptee);
//请求处理
target.request();
}
}
自己的一些理解:
感觉适配器模式理解起来好像有一些小问题。但是很明确的是:
适配器模式 是一个补偿模式,通常用来解决接口不相容的问题,在百分之百的完美设计中是不可能使用到的,但真的有百分之百的完美设计吗?因此我们需要这么这种补偿方式来处理这完美中的不足!
后续还会补充!。。。。。