设计模式-结构型模式之适配器模式

2019-02-15  本文已影响0人  gooddaytoyou

定义

适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

相关角色
Target:目标抽象类
Adapter:适配器类
Adaptee:适配者类
Client:客户类

解决问题

使接口不兼容的那些类可以一起工作。

UML类图

adapter.png

例子

适配器分两种

具体场景是: 在生活中,我们买的电器插头是2个孔的,但是我们买的插座只有三个孔的,此时我们就希望电器的插头可以转换为三个孔的,这样我们就可以直接把它插在插座上,此时三个孔插头就是客户端期待的另一种接口,自然两个孔的插头就是现有的接口。

类的适配器

IThreeHole

public interface IThreeHole {
     void request();
}

TwoHole

public abstract class TwoHole {
    public void specificRequest()
    {
        System.out.println("我是两个孔的插头");
    }
}

PowerAdapter

public class PowerAdapter extends TwoHole implements IThreeHole {

    @Override
    public void request() {
        this.specificRequest();
    }

}

对象适配器

TwoHole

public class TwoHole {
    public void specificRequest() {
        System.out.println("我是两个孔的插头");
    }
}

ThreeHole

public abstract class ThreeHole {
    public abstract void request();
}

PowerAdapter

public class PowerAdapter extends ThreeHole {
    private TwoHole twoHole = new TwoHole();

    @Override
    public void request() {
        twoHole.specificRequest();
    }
}

优缺点

类的适配器模式

优点:

对象的适配器模式

优点:

延伸

上一篇 下一篇

猜你喜欢

热点阅读