zoukankan      html  css  js  c++  java
  • 适配器模式

    适配器模式使用场景

    例如:用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹配使得笔记本电脑无法使用。这时候一个三相到两相的转换器(适配器)就能解决此问题

    类适配器模式

    public interface Target {
        /**
         * 这是源类Adaptee也有的方法
         */
        public void sampleOperation1(); 
        /**
         * 这是源类Adapteee没有的方法
         */
        public void sampleOperation2(); 
    }
    public class Adaptee {
        public void sampleOperation1(){}
    }


    public class Adapter extends Adaptee implements Target {
        /**
         * 由于源类Adaptee没有方法sampleOperation2()
         * 因此适配器补充上这个方法
         */
        @Override
        public void sampleOperation2() {
            //写相关的代码
        }
    
    }

    对象适配器模式
    public interface Target {
        /**
         * 这是源类Adaptee也有的方法
         */
        public void sampleOperation1(); 
        /**
         * 这是源类Adapteee没有的方法
         */
        public void sampleOperation2(); 
    }
    public class Adaptee {
    
        public void sampleOperation1(){}
        
    }

    public class Adapter {
        private Adaptee adaptee;
        
        public Adapter(Adaptee adaptee){
            this.adaptee = adaptee;
        }
        /**
         * 源类Adaptee有方法sampleOperation1
         * 因此适配器类直接委派即可
         */
        public void sampleOperation1(){
            this.adaptee.sampleOperation1();
        }
        /**
         * 源类Adaptee没有方法sampleOperation2
         * 因此由适配器类需要补充此方法
         */
        public void sampleOperation2(){
            //写相关的代码
        }
    }

    总结:适配器拥有被适配对象(插座)缺失方法。
  • 相关阅读:
    12-认识容量和升(四上)
    11 认识1-5(一上)
    10 圆柱的表面积(六下)
    009 单式折线统计图(五下)
    008 解决问题的策略 转化(苏教版 五下)
    007 分数的基本性质(五下)
    006 三位数乘两位数(四上)
    kafka,MQ消息队列
    005 圆的周长(六上)
    004 平行四边形的面积(五上)
  • 原文地址:https://www.cnblogs.com/chenweichu/p/5601894.html
Copyright © 2011-2022 走看看