java设计模式:适配器模式

适配器模式(Adapter Pattern):将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容。

适配器模式包括目标、适配器、被适配者三个角色。


适配器模式在生活中也有很多体现,比如插头和插座间的转换器、内存卡的读卡器等就是典型的适配器模式,使用适配器模式的优势在于,从用户的角度是看不到被适配者的,目标和被适配者之间是解耦的。


下面通过一个简单的例子来演示适配器模式的原理:插头的例子

1、插座接口

public interface Socket {
    void display();
}

2、插座实现类,美式插座

public class USASocket implements Socket{

    @Override
    public void display() {
        System.out.println("长方形底座,插孔较粗");
    }
}

3、插头接口

public interface Plug {
    void display(); 
}

4、插头实现类,中式插头

public class ChinaPlug implements Plug {
    @Override
    public void display() {
        System.out.println("三角形孔,孔较细");
    }
}

5、适配器(一个可插入中式插头的转换器)

public class SocketAdapter implements Socket{
    private Plug plug;

    public SocketAdapter(Plug plug) {
        this.plug = plug;
    }

    @Override
    public void display() {
        plug.display();
    }
}

6、测试类

public class MainTest {
    public static void main(String[] args){
        Plug chinaPlug = new ChinaPlug();
        SocketAdapter adapter = new SocketAdapter(chinaPlug);
        adapter.display();
    }
}

输出结果:

三角形孔,孔较细


项目开发中,尽可能的通过合理设计去避免大量的使用适配器模式,避免增加维护的困难

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值