复习23种设计模式之适配器模式

TingBen 2020-06-03

一,前言

刚才在复习适配器模式时搜到了一张图片很有意思简单明了解释了适配器模式的思想,即将两种或以上的不适合的接口对接起来。

复习23种设计模式之适配器模式

二、实战

假设我们需要对接一个播放器接口A和一个MP4接口B

首先,实现两个待适配的接口

MP4接口

package adapter;

public interface MP4 {
    void play();
}

Player接口

package adapter;

public interface Player {
    void action();
}

  然后实现其中一个类比如ExpensiveMP4

package adapter;

public class ExpensiveMP4 implements MP4 {

    @Override
    public void play() {
        // TODO Auto-generated method stub
    }
}

适配器第一种实现方法

package adapter;

public class AdapterType1 extends ExpensiveMP4 implements Player{

    @Override
    public void action() {
        // TODO Auto-generated method stub
        play();
        
    }

}

这种方法耦合度较高,一般不采用所有还有第二种方法

  适配器第二种实现方法

package adapter;

public class AdapterType2 implements Player {
    public ExpensiveMP4 expensiveMP4;
    AdapterType2(ExpensiveMP4 expensiveMP4){
        this.expensiveMP4= expensiveMP4;
    }
    @Override
    public void action() {
        // TODO Auto-generated method stub
        if(this.expensiveMP4!=null) {
            expensiveMP4.play();
        }
    }

}

通过对象获取然后将对应的接口连接起来

三、总结

  在对于系统迭代和来自不同第三方接口时经常需要新旧接口或者不同第三方接口的对接此时就需要运用适配器实现最小侵入性的快速对接,在开发中有着十分重要的用途

相关推荐