• 适配器模式


      适配器模式,顾名思义就是适配之用,一般场景就是,需要的是目标接口,但只有源接口,且源接口和目标接口不一致,这时候就需要一个中间过渡的转换器,这个转换器实现了目标接口,同时也可以执行源接口的逻辑。

      打个形象的比喻,就好比你现在有一个两相的插头,但是插座是三相的,这样你硬插肯定是不行的,这时你就需要一个插线板(就是适配器的角色),一边你两相的插头可以插在它上面,它的插头也可以插在三相的插座上。

      适配器模式主要的角色有:源接口, 目标接口,适配器。 下面直接上代码:

      

      1、源接口  Adaptee

    package com.hd.adapter;
    
    public interface Adaptee {
    
        void doAdaptee();
    }

      2、源接口实现类

    package com.hd.adapter;
    
    public class MyAdaptee implements Adaptee {
    
        @Override
        public void doAdaptee() {
            System.out.println("I am adaptee");
        }
    }

      3、目标接口 Target

    package com.hd.adapter;
    
    public interface Target {
    
        void doTarget();
    }

      4、适配器 Adaptor

      它既实现了 Target 接口,内部又持有源接口的引用,在目标接口的方法实现里,调用源接口的方法。

    package com.hd.adapter;
    
    public class Adaptor implements Target {
    
        private Adaptee adaptee;
        public Adaptor(Adaptee adaptee){
            this.adaptee = adaptee;
        }
        @Override
        public void doTarget() {
            adaptee.doAdaptee();
        }
    }

      5、写一个测试类:

    package com.hd.adapter;
    
    public class TestAdaptor {
    
        public static void main(String[] args){
            Adaptee adaptee = new MyAdaptee();
            Target target = new Adaptor(adaptee);
            target.doTarget();    // I am adaptee
    } }

      其实适配器模式在实际项目里用的比较少,主要用来重构原来项目的时候会用到,例如以前的接口比较重要,或者用的地方比较多,不方便随意更改接口,但是又要实现新接口的功能,这样就会用到适配器模式了。

      未完待续。。。

  • 相关阅读:
    仿照京东做的一个鼠标移上去的图片文字说明效果
    js 之 复制一段代码
    自己练习了一个弹出框
    用jq 做了一个排序
    做了一个类似天猫鼠标经过icon的动画,记录一下
    一行代码写一个轮播,想了好久,感觉这样可以。
    一个小例子,全选复选框
    仿照淘宝首页做的一个高度伪对齐demo
    《挑战程序设计竞赛》2.2 贪心法-区间 POJ2376 POJ1328 POJ3190
    《挑战程序设计竞赛》2.1 穷竭搜索 POJ2718 POJ3187 POJ3050 AOJ0525
  • 原文地址:https://www.cnblogs.com/xiexin2015/p/9038200.html
Copyright © 2020-2023  润新知