1 适配器 是进行适应与匹配工作的物件。当一个对象或类的接口不能匹配用户所期待的接口时,适配器就充当中间转换的角色,以达到兼容用户接口的目的,同时适配器也实现了客户端与接口的解耦,提高了组件的可复用性。

    1. public class Adapter implements TriplePin{
    2. public DualPin dualPinDevice;
    3. public Adapter(DualPin dualPinDevice){...;}
    4. public electrify(int l,int n,int e){
    5. dualPinDevice.electrify(l,n);
    6. }
    7. }

    适配器将两相电器 转化为 可以插入 三相接口
    原先的 设备 实现的是 DualPin 并不兼容 TriplePin
    通过适配器后,这个适配器可以 插入TriplePin

    2 可以理解为 将原先的接口 转化为新的接口 用来匹配要求
    image.png
    3 上述属于对象适配器,还可以用类适配器,顾名思义就是某个类的 专属适配器

    1. public class TVAdapter extends TV implements TriplePin{
    2. public void electrify(int l,int n,int e){
    3. super.electrify(l,n);
    4. }
    5. }

    4 这个类适配器继承了TV的功能,并实现了Triple的接口,通过这个类构造的实例 就能适配接口
    image.png
    5 类适配器使用起来更加简单,但是兼容性差,有好有坏,看情况使用不同的适配器
    6 成功利用适配器模式对系统进行扩展后,我们就不必再为解决兼容性问题去暴力修改类接口了,转而通过适配器,以更为优雅、巧妙的方式将两侧“对立”的接口“整合”在一起,顺利化解双方难以调和的矛盾,最终使它们顺利接通。