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

Posted cnbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复习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();
        }
    }

}

 

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

三、总结

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

 

以上是关于复习23种设计模式之适配器模式的主要内容,如果未能解决你的问题,请参考以下文章

复习23种设计模式之代理模式

GoF 23 种设计模式之适配器模式和桥接模式

GoF 23 种设计模式之适配器模式和桥接模式

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

Android面试复习总纲

最全23种设计模式之单例模式(Singleton)