适配器模式又叫做变压器模式,也叫做包装模式。
学过物理的人都知道变压器是干嘛的。把一个非常高的电压转化成一个适合电器使用的电压,或者在电线传输的时候用高压传输也要把低压电转化成高压电,这就是变压器。
那么变压器模式也是这样,把原本不配套的组件,经过一个中间件转成一个可以在合适的地方使用的组件,这就是变压器的作用。
变压器模式的定义:讲一个类的接口变换成客户端所期待的另一种接口,从而使得原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
他的角色为:Target 目标角色 该角色定义把其他类转化为何种模式,也即是我们期望的接口
Adaptee :原角色,你想转化的角色
Adapter:转化器角色 具体的转化工作由它完成
package com.gengu.适配器模式;
/**
* 目标角色
* 就是程序希望目标能达到什么样的效果
* 这相当于变压器的输出端
* */
public interface Target {
public void doSomeThing();
}
package com.gengu.适配器模式;
/**
* 原角色
* 相当于变压器的输入端
* */
public class Adaptee {
public void doSomeThing(){
System.out.println("我现在可以做原始类型能做的事情");
}
}
package com.gengu.适配器模式;
/**
* 适配器角色
* */
public class Adapter extends Adaptee implements Target{
@Override
public void doSomeThing() {
System.out.println("我现在的行为是经过转化之后的行为");
}
}
适配器的思想很简单,就是让本来不能在一起运行的两个类在一起运行,灵活性好。