首页 > 其他分享 >适配器模式

适配器模式

时间:2023-01-22 19:55:17浏览次数:35  
标签:Target Adapter 接口 Adaptee 模式 现有 适配器

适配器模式
p...概括:在适配器类 Adapter 中,将现有接口 Adaptee 中的方法作为数据源传入适配器类,然后转换成目标接口 Target 中的方法。如果客户端要调用,那么就调用 Adapter类对象且传入 Adaptee 对象即可。
Target目标接口:定义系统的需求规范
Adapter适配器类:实现目标接口,将Adaptee(类似数据源)经过处理实现了 Target 定义的功能
Adaptee现有接口:类似于能够提供数据,供适配器优化处理实现新的需求

● 对象适配器
适配器eg:将交流电 转换成 直流电
系统需要使用现有的类,而此类的接口不符合业务需求。需要将现有的类和系统做一个兼容处理,就可以用到适配器模式。提高了类的复用,代码灵活性
image

Adapter:适配器类,适配现有接口 (Adaptee,所以适配器类中含有现有接口) 使其满足 Client(系统) 的需求,它要实现 Target接口。
针对目标接口,适配器中提供了转换过程(就类似于交流电 => 直流电的过程)
Target: 目标接口,实现客户端最新的业务需求
image
image
image
image

● 类适配器(不推荐)
违背了里式替换原则。Adapter类继承了UserServiceImpl,在用到Adapter类对象的时候不能用它的父类替换

标签:Target,Adapter,接口,Adaptee,模式,现有,适配器
From: https://www.cnblogs.com/pzistart/p/17064595.html

相关文章

  • “策略模式”:告别if else
    “策略模式”:告别ifelse阅读完本篇文章你将了解到什么是策略模式,策略模式的优缺点,以及策略模式在源码中的应用。策略模式引入在软件开发中,我们常常会遇到这样的情况,实......
  • Spring 事务 & Spring设计模式
    ......
  • 管道模式
    管道模式创建管道packagecom.mall.order.biz.factory;/***Createdon2019/8/2.*/importcom.mall.order.biz.TransOutboundInvoker;/****/publicinte......
  • virtualbox虚拟机 NAT网络模式10.0.2.15 putty无法登录的解决方法
     001、查看本机ip10.0.2.15[root@pc1~]#ifconfig|headenp0s3:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet10.0.2.15netmask255.25......
  • ActiveMQ 常见集群模式
    MasterSlave架构模式这种模式是基于文件共享锁的高可用集群,个人理解其实是一种Failover模式,可以是一主一从,也可以是一主两从。本文使用Docker搭建一个主从模式的......
  • 单例模式之延迟加载和初始加载
    一、什么是初始加载?实现单例模式有两种方式,一种是懒加载,也就是延迟加载,当首次调用时创建单例对象,另一种是初始加载,在应用程序启动时就初始化单例对象,并将其保存在内存中以......
  • 【设计模式】设计模式六大原则
    开闭原则对扩展开放,对修改关闭。使用抽象类,接口等构建抽象层,通过实现接口(继承抽象类)的方式构建具体实现。当系统修改时,无需对抽象层代码修改,只需编写新的具体实现类达到......
  • Java/JS/Python/Go语言设计模式大全【精品源码】
    DesignPattern23种经典设计模式源码详解经典设计模式源码详解,用不同语言来实现,包括Java/JS/Python/TypeScript/Go等。结合实际场景,充分注释说明,每一行代码都经过检验,确......
  • web开发的模式的介绍与身份认证
    web开发的模式的介绍1.服务端渲染2.前端端分离开发的web模式服务端渲染优点与缺点优点:1.前端耗时少。因为服务器端负责动态生成HTML内容,浏览器只需要直接渲染页面即......
  • 【RocketMQ】消息拉模式分析
    RocketMQ有两种获取消息的方式,分别为推模式和拉模式。推模式推模式在【RocketMQ】消息的拉取一文中已经讲过,虽然从名字上看起来是消息到达Broker后推送给消费者,实际上还......