当前位置: 首页 >  网技达人 >  设计模式之适配器模式--新能源的发展

设计模式之适配器模式--新能源的发展

导读:前言.本文主要讲述适配器模式 ,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。.一.什么是适配器模式.适配器模式是23种设计模式中结构型模式.的一种,将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以

前言

本文主要讲述适配器模式 ,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。

一.什么是适配器模式

适配器模式是23种设计模式中结构型模式 的一种,将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。

二.生活中的适配器模式

1.太阳能

太阳能、风能、水能这类自然能是大自然赐予我们的礼物。比如说太阳能板就能够把太阳能转换成咱们的电能,然后给家里的电器使用,如果是没有太阳能板,我们是无法直接把太阳能供给电器使用的,这个太阳能板就像设计模式中的适配器模式一样。

2.见手青

云南人民很喜欢喜食菌类,但是不是每种菌类都可以吃,或者是有些菌类在没完全煮熟的时候是有毒的,比如见手青。生的见手青是会让人中毒的,而一些见手青通过烹饪完全熟透后是可以食用并且还是一道美味,不过得注意不是所有见手青的品种都可以煮熟食用。让有毒不可食用的见手青转换成熟透可食用无毒的见手青的这个工具就像设计模式中的适配器模式一样。

3.充电器

中国家庭所用的交流电标准电压为220V,如果用直接把插座里的电通往手机的话,可能会发生爆炸。这个时候我们就需要用到手机专用的充电器了,通过充电器,我们把220V的电流转换成手机适配的电流,电脑的充电器也是同样的原理。这个充电器就像是设计模式中的适配器模式一样。

三.适配器模式的实现

接下来以太阳能汽车举例,通过适配器模式来实现。先创建一个适配者类 太阳类和目标抽象类 客户需要的接口

package com.qianfeng.ran;

/*
 * @author:江帅
 *      适配者类:Adaptee
 *          太阳类
 */
public class Sun {
    //发散太阳能的行为
    public void behavior(){
        System.out.print("太阳能");
    }
}



/*
 * @author:江帅
 *      目标抽象类:Target
 *         客户需要的接口
 */
interface SolarToElectric {
    //把太阳能转换成电能
    void transition();
}

再创建一个适配器类 太阳能板和客户类 太阳能汽车

package com.qianfeng.ran;

/*
 * @author:江帅
 *      适配器类:Adapter
 *          太阳能板
 */
public class SolarPanel implements SolarToElectric {
    //太阳能类
    public Sun sun;
    public SolarPanel(Sun sun){
        this.sun = sun;
    }
    //太阳能转换成电能
    @Override
    public void transition() {
        //获取太阳能
        sun.behavior();
        System.out.print("转换成电能");
    }
}




/*
 * @author:江帅
 *      客户类:Client
 *          太阳能汽车
 */
class SolarCar {
    //发动机
    public void engine(SolarToElectric solarToElectric){
        //通过太阳能板获取能量
        solarToElectric.transition();
        System.out.print("发动汽车");
    }
}

最后我们通过适配器模式实现把太阳能转换成电能的过程

package com.qianfeng.ran;

/*
 * @author:江帅
 *          客户端
 */
public class Demo {
    public static void main(String[] args) {
        //创建一个太阳能板类,需要传递发散太阳能的太阳类
        SolarToElectric solarPanel = new SolarPanel(new Sun());
        //创建一个太阳能汽车
        SolarCar car = new SolarCar();
        //执行结果:
        //太阳能转换成电能发动汽车
        car.engine(solarPanel);
    }
}

四.配套视频

如果你不习惯阅读技术文章,或是对文中的技术概念不能很好地理解,可以来看看我们帮你筛选出的视频教程。戳这里


以上就是本文的全部内容啦,更多精彩可以关注小千,get技术知识点

内容
  • RocketMQ消费者是如何负载均衡的
    RocketMQ消费者是如何负载
    2023-12-09
    摘要:RocketMQ 支持两种消息模式:集群消费( Clustering )和广播消费( Broadcasting )
  • 千乎万唤始出来,支持gpt3和gpt4支持画图,的在线gpt应用接入案例开源上线啦
    千乎万唤始出来,支持gpt3和g
    2023-12-04
    了解OPEN AI 平台用户一直在说,这个接口要怎么对接,如何在体验。 由于我一直忙于接口中台开发,所以在线基于OPEN
  • FlashDuty Changelog 2023-09-07 | 新增深色模式与主题配置
    FlashDuty Change
    2023-12-04
    FlashDuty:一站式告警响应平台,前往此地址免费体验!.FlashDuty.现在已经全面支持了深色模式,这为您提供
  • 智能车载设备
    智能车载设备
    2023-10-02
    智能车载设备.我们的智能车载设备是一款结合了最新科技和创新设计的汽车配件,旨在提升驾驶体验、提高安全性和为用户带来智能化
  • 智能医疗设备
    智能医疗设备
    2023-10-02
    智能医疗设备产品介绍.智能医疗设备是一款集成了先进技术的高科技产品,旨在提高医疗保健的效率和质量。该设备主要应用于医院、
  • 互联网金融服务平台
    互联网金融服务平台
    2023-10-01
    互联网金融服务平台.产品功能.个人理财:用户可以通过平台进行投资理财,选择适合自己的理财产品,实现资金增值。.贷款服务:
  • 电子元件电感
    电子元件电感
    2023-10-02
    电子元件电感.产品功能.电感是一种重要的电子元件,用于储存和释放电能,调节电路中的电流和电压。它在电子设备和通讯设备中起
  • 智能智能家居设备
    智能智能家居设备
    2023-10-05
    智能家居设备介绍.产品概述.我们当前运营的产品是智能家居设备,它是一款智能化的家居控制系*,旨在为用户提供更便捷、舒适的
  • 智能可穿戴设备
    智能可穿戴设备
    2023-10-03
    产品功能介绍.我们的智能可穿戴设备是一款集健康监测、运动追踪、通讯互动等多种功能于一体的产品。它采用先进的传感技术,可实
  • 智能手机
    智能手机
    2023-10-01
    产品功能介绍:智能手机.智能手机是一款集通讯、娱乐、办公等功能于一体的移动智能设备。首先,智能手机具有强大的通讯功能,支
  • 智能智能物流设备
    智能智能物流设备
    2023-10-04
    智能物流设备.1. 产品描述.智能物流设备是一款基于物联网技术的智能设备,主要用于运输、储存和**物流货物。其核心功能是
  • 智能智能娱乐设备
    智能智能娱乐设备
    2023-10-04
    产品功能介绍.1. 智能娱乐设备.我们的智能娱乐设备是一款结合了智能技术和娱乐功能的产品。它拥有丰富的娱乐资源,包括音乐
  • 智能电视
    智能电视
    2023-10-01
    产品功能介绍.智能电视是一款结合了传统电视和智能硬件的产品。它内置了智能操作系*,能够连接互联网并运行各种应用程序。智能