java 设计模式之适配器模式(五)

人生,没有永远的伤痛,再深的痛,在切之时,伤口总会痊愈。人生,没有过不去的坎,你不可以坐在坎边等它消失,你只能想办法穿过它。人生,没有永远的爱情,没有结局的感情,总要结束;不能拥有的人,总会忘记。

设计模式学习,近期我会把23中设计模式都写成博客,敬请期待~
–2021/1/8

结构型模式分类

  • 适配器模式
  • 代理模式
  • 桥接模式
  • 装饰模式
  • 组合模式
  • 外观模式
  • 享元模式

结构型模式定义

从程序的结构上实现松耦合,从而扩大整体结构,用来解决更大的问题

百度百科

适配器模式定义

将一个类的接口实现成客户端想要的接口,适配器模式就是将2个毫无关系的类组好到一起,起到一个’中间商’的作用,可以让他们一起工作

百度百科

分析

效果图(1.1):


现在科技越来越进步,电脑是越来越薄,导致网线插补到电脑上,这里就相当于使用了适配器模式,将网线和电脑合并到一起,可以让电脑连接到网络!

代码实现:

Computer 电脑类:

public class Computer {
    
    
    //电脑需要转接线才能上网
    public void net(Adapter adapter){
    
    
        adapter.net();
    }
}

Netting 网线类:

public class Netting {
    
    
    public void ConnectNetwork(){
    
    
        Log.i("适配器模式:","已经连接网络");
    }
}

INettingToComputer网线接口(为了满足开闭原则)

public interface INettingToComputer {
    
    
    public void net();
}

Adapter转换器:

public class Adapter implements INettingToComputer{
    
    

    private  Netting netting;
    //将网线组合进来
    public Adapter(Netting netting) {
    
    
        this.netting = netting;
    }
    @Override
    public void net() {
    
    
        netting.ConnectNetwork();
    }
}

代码实现:

 //电脑
Computer computer = new Computer();

//网络
Netting netting = new Netting();

//转换器
Adapter adapter = new Adapter(netting);

//电脑通过转换器连接网络
computer.net(adapter);

效果图(1.2):

分析:

  • Adapter 适配器
  • Computer 电脑
  • Netting 网线
  • INettingToComputer网线接口(Adapter实现)

优点:

  • 一个对象适配器把多个不同不同的适配者适配到同一个类中
  • 可以适配一个适配者的子类,由于适配器和适配者之前是关联关系,根据里氏替换原则适配者的子类也可以通过该适配器进行适配.

这就是一个简单的适配器模式

完整代码

最近文章:

java 设计模式之 建造型:单例模式(一)

java 设计模式之 建造型:工厂方法/抽象工厂模式(二)

java 设计模式之 建造型:原型模式(三)

java 设计模式之 建造型:建造者模式(四)

去设计模式/设计原则目录页

原创不易,记得点个赞支持一下哦~

猜你喜欢

转载自blog.csdn.net/weixin_44819566/article/details/112365209