适配器模式

适配器模式

定义

适配器用于让两个无关的类之间产生联系,可以一起协同工作。

解释

就拿小米 6手机为例子,它没有圆孔来让耳机插入,就只有一个方孔,那我们怎么插耳机呢?小米手机提供了一个转接口来帮我们干这件事,耳机本来就可以插圆孔但是不能插方孔,转接头既可以插圆孔也可以插方孔。这就使得本来耳机不能插入手机,通过一个转接口可以实现这个功能。这个转接口其实就是一个适配器,它让耳机和手机本来不可以通信的两个事物之间产生了关系。

形式

类的适配器模式

这个通过继承实现的,不推荐大家使用。

对象的适配器模式

这个是通过实现接口实现的,我下面的代码演示就是使用的这种形式。(推荐使用)

在面向对象的编程中,我们推荐使用组合/聚合,而不是去使用继承。

代码

实际编码中不推荐大家使用中文命名类名,我这里是为了方便大家理解才使用的,

适配器类

interface USB{
    void 插圆孔();
    void 插方孔();
}
class 耳机{
    public void 插圆孔(){
        System.out.println("耳机 插进圆孔了");
    }
}
public class Adapter implements USB{
    private 耳机 ear;

    public Adapter(耳机 ear){
        this.ear = ear;
    }

    @Override
    public void 插圆孔() {
        ear.插圆孔();
    }

    @Override
    public void 插方孔() {
        System.out.println("Adapter 插进方孔了");
    }
}

测试类

public class Test {
    public static void main(String[] args) {
        Adapter adapter = new Adapter(new 耳机());
        adapter.插圆孔();
        adapter.插方孔();
        System.out.println("可以听歌了");
    }
}

优点

  • 更好的复用性
  • 更好的扩展性

缺点

过多的使用适配器,会让系统非常零乱,不易整体进行把握。

建议

我只是把主要的思想给大家讲解了,真正要使用好适配器模式还是需要大家自己去理解和体会。比如在看源码的过程中就可以自己去体会那样设计的好处,码农和大牛之间的差距可能就是在思想上的高度。大牛在不断的体会设计,去想好的设计。码农去不停的重复 CRUD。当然我是个菜鸟,这只是我的感想罢了,但我相信有一天我可以达到心中的高度。

参考博文链接:https://www.cnblogs.com/java-my-life/archive/2012/04/13/2442795.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值