当前位置: 首页 > news >正文

嘉兴企业网站模板建站二级域名分发网站源码

嘉兴企业网站模板建站,二级域名分发网站源码,微信小程序开发需要什么技术,电子商务网站建设论文总结设计模式中的“万能转换器”——适配器模式 一、核心逻辑二、类适配器 vs 对象适配器类适配器(继承实现)对象适配器(组合实现) 三、应用场景四、优缺点五、适配器模式的本质 你用过Type-C转HDMI的转换器吗?它的作用很简…

设计模式中的“万能转换器”——适配器模式

  • 一、核心逻辑
  • 二、类适配器 vs 对象适配器
    • 类适配器(继承实现)
    • 对象适配器(组合实现)
  • 三、应用场景
  • 四、优缺点
  • 五、适配器模式的本质

在这里插入图片描述

你用过Type-C转HDMI的转换器吗?它的作用很简单:让Type-C接口的电脑能连接HDMI接口的显示器。适配器模式就是软件世界的“转换器”,它能将两个不兼容的接口(比如数据格式、协议、硬件规格)连接起来,让它们无缝协作。

一、核心逻辑

适配器模式的核心是中间商思维:不改变原有代码,而是增加一个中间层(适配器)来协调矛盾。它的三个关键角色:

  1. 目标接口(Target):用户需要的接口(如显示器的HDMI接口)。
  2. 适配者类(Adaptee):已存在的、功能完善但接口不兼容的类(如电脑的Type-C接口)。
  3. 适配器类(Adapter):将适配者的功能“翻译”为目标接口(如Type-C转HDMI转换器)。

举个栗子:

  • 显示器(目标接口):需要HDMI信号输入。
  • 笔记本电脑(适配者):只能输出Type-C信号。
  • 转换器(适配器):将Type-C信号转换为HDMI格式。

二、类适配器 vs 对象适配器

类适配器对象适配器
实现方式继承被适配类(如extends TypeCDevice组合被适配对象(如private TypeCDevice
灵活性仅支持单一被适配类支持多种设备(如Type-C/USB-A/DP接口)
代码耦合度高(需继承具体类)低(仅依赖接口)
适用场景专用转换器(如固定品牌设备)多功能转换坞(需兼容多种协议)

类适配器(继承实现)

场景:专用Type-C转HDMI线(适配关系固定)

// 目标接口:HDMI输出协议  
interface HDMI {  void sendHDMISignal();  
}  // 被适配者:Type-C接口的笔记本  
class TypeCDevice {  void sendTypeCSignal() {  System.out.println("发送Type-C数字信号");  }  
}  // 类适配器(继承TypeCDevice,实现HDMI接口)  
class TypeCToHDMIAdapter extends TypeCDevice implements HDMI {  @Override  public void sendHDMISignal() {  super.sendTypeCSignal();  // 调用父类方法  System.out.println("类适配器:Type-C信号 → HDMI信号转换");  }  
}  // 客户端调用  
public class Client {  public static void main(String[] args) {  HDMI adapter = new TypeCToHDMIAdapter();  adapter.sendHDMISignal();  }  
}  

输出结果

发送Type-C数字信号  
类适配器:Type-C信号 → HDMI信号转换  

特点

  • 适配器直接继承被适配者(TypeCDevice)
  • 代码耦合度高,无法动态更换适配对象

对象适配器(组合实现)

场景:多功能转换坞(支持Type-C/USB-A转HDMI)

// 目标接口:同上HDMI接口  // 对象适配器(实现HDMI接口,持有TypeCDevice实例)  
class UniversalHDMIAdapter implements HDMI {  private TypeCDevice typeCDevice;  UniversalHDMIAdapter(TypeCDevice device) {  this.typeCDevice = device;  }  @Override  public void sendHDMISignal() {  typeCDevice.sendTypeCSignal();  System.out.println("对象适配器:动态转换信号 → HDMI");  }  
}  // 客户端调用  
public class Client {  public static void main(String[] args) {  TypeCDevice macbook = new TypeCDevice();  HDMI adapter = new UniversalHDMIAdapter(macbook);  adapter.sendHDMISignal();  }  
}  

输出结果

发送Type-C数字信号  
对象适配器:动态转换信号 → HDMI  

特点

  • 适配器通过组合持有被适配者对象
  • 可动态适配不同设备(如同时支持Type-C和USB-A输入)

三、应用场景

  • 硬件接口转换:Type-C转网口、USB转串口。
  • 数据格式兼容:JSON转XML、旧版API对接新版系统。
  • 协议适配:蓝牙设备连接不同操作系统的手机。

四、优缺点

  • 优点:
    • 复用性:老旧设备无需改造即可接入新系统。
    • 灵活性:一个适配器可支持多场景(如三合一充电线)。
  • 缺点:
    • 过度使用会臃肿:就像包里的各种转换器,太多反而难以管理。

五、适配器模式的本质

  • 核心价值:通过中间层转换接口冲突,符合开放-封闭原则(不修改原有代码)
  • 硬件映射
    • 类适配器 → 焊接式固定转换线(如苹果官方Type-C转HDMI线)
    • 对象适配器 → 第三方多功能扩展坞(支持热插拔)
  • 开发启示:优先使用对象适配器,避免Java单继承的限制

通过HDMI场景的深入解析可见,适配器模式是接口冲突的终极解决方案。无论是代码中的协议转换,还是你桌上那根“救命”的Type-C转HDMI线,都在默默践行这一设计哲学。

http://www.dtcms.com/a/518404.html

相关文章:

  • 网站经营性质网站建设 用什么语言
  • 免费申请网站com域名seo网站优化软件
  • 广西南宁房产网站建设新手做网站的详细步骤
  • 宠物医院网站开发yy直播是个什么样的平台
  • 电子商务网站建设与营运网上注册公司流程图文
  • 网站改版建设 有哪些内容品牌画册设计
  • 外包网站都有哪些网站编辑文章
  • 一起做网店网站哪里进货的无锡网站建设制作设计
  • 怎么把网站放到空间吗任务发布网站建设
  • 营销型网站建设公司地址国外汽车配件网站模板
  • 为网站添加注册功能郑州网站建设熊掌号
  • 公司做网站买服务器多少钱介绍家乡的网页设计代码
  • 东莞建设网站的位置wordpress文章编辑器可视化
  • 品牌网站解决方案网站如何做绿标
  • 信用卡网站模板网站建设联
  • 校园网上超市网站建设战略规划报告怎么写范文大全
  • 龙湖什么网站做宣传网站关键词先后
  • 丰台石家庄网站建设网络用语建设是什么意思
  • 宜春网站建设公司土特产网站的制作
  • jsp网站开发软件广州域名注册
  • 家装设计效果图专业网站杭州p2p网站建设
  • pdf做电子书下载网站淘宝网站建设步骤
  • html5 微网站 免费网站建设研究意义
  • 比较好看的企业网站100种创意活动策划
  • 网站设计公司 国际网址输入入口
  • 北京房产网站大全app 网站开发公司电话
  • 自建虚拟主机网站源码热门的网页设计工具有哪些
  • 注销网站 注销主体网站开发前期准备工作
  • 移动网站在线开发工具松江品划做网站公司
  • 优化网站建设应该如何做营销型网站