1 适配器 是进行适应与匹配工作的物件。当一个对象或类的接口不能匹配用户所期待的接口时,适配器就充当中间转换的角色,以达到兼容用户接口的目的,同时适配器也实现了客户端与接口的解耦,提高了组件的可复用性。
public class Adapter implements TriplePin{public DualPin dualPinDevice;public Adapter(DualPin dualPinDevice){...;}public electrify(int l,int n,int e){dualPinDevice.electrify(l,n);}}
适配器将两相电器 转化为 可以插入 三相接口
原先的 设备 实现的是 DualPin 并不兼容 TriplePin
通过适配器后,这个适配器可以 插入TriplePin
2 可以理解为 将原先的接口 转化为新的接口 用来匹配要求
3 上述属于对象适配器,还可以用类适配器,顾名思义就是某个类的 专属适配器
public class TVAdapter extends TV implements TriplePin{public void electrify(int l,int n,int e){super.electrify(l,n);}}
4 这个类适配器继承了TV的功能,并实现了Triple的接口,通过这个类构造的实例 就能适配接口
5 类适配器使用起来更加简单,但是兼容性差,有好有坏,看情况使用不同的适配器
6 成功利用适配器模式对系统进行扩展后,我们就不必再为解决兼容性问题去暴力修改类接口了,转而通过适配器,以更为优雅、巧妙的方式将两侧“对立”的接口“整合”在一起,顺利化解双方难以调和的矛盾,最终使它们顺利接通。
