结构型模式-适配器模式

适配器模式是在已经存在类与对象的情况下,有第三方需要使用这个类,但是由于参数不对,需要一个适配模式帮助,使得第三方也能使用这个类的一种模式。

优点:可以让没有关系的两个类有所关联。提高类的复用。
缺点:过多使用适配器,系统会不易维护。
不推荐使用。我们编程的两大原则:面向对象编程和面向接口编程。当由于业务需要,必须修改一个已经正常运行的系统的接口时,可以考虑使用适配器模式。

举例:
假定我们现在有已存在的两组功能,视频播放和音频播放。

public interface MediaPlayer {
    public void play(String audioType,String fileName);
}
public interface AdvanceMediaPlayer {
    public void playVlc(String fileName);

    public void playMp4(String fileName);
}
public class MediaAdapter implements MediaPlayer{

    public AdvancedMediaPlayer advancedMusicPlayer;

    public MediaAdapter(String auditType){
        if(auditType.equalsIngnoreCase("vlc")){
            advancedMusicPlayer = new VlcPlayer();
        } else if (auditType.equalsIngnoreCase("mp4")){
            advancedMusicPlayer = new Mp4Player();
        }
    }

    @Override
    public void play(String auditType,String fileName){
        if(auditType.equalsIngnoreCase("vlc")){
            advancedMusicPlayer.playVlc();
        }else if(auditType.equalsIngnoreCase("mp4")){
            advancedMusicPlayer.playMp4();
        }
    }

}

通过MediaAdapter类我们就可以通过AudioPlayer来播放MediaPlayer.

源码地址:https://github.com/walker0828/DesignPatterns.git

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容