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

两学一做教育考试网站免费网页设计作品

两学一做教育考试网站,免费网页设计作品,上海手机网站建设电话咨询,网站单页制作教程目录 一、简介二、使用2.1、目标接口2.2、被适配者2.3、适配器2.4、使用 一、简介 适配器模式是一种结构型设计模式#xff0c;允许将一个类的接口转换成客户端所期望的另一个接口#xff0c;使得原本由于接口不兼容而不能一起工作的类能够协同工作。适配器模式通常用于连接两… 目录 一、简介二、使用2.1、目标接口2.2、被适配者2.3、适配器2.4、使用 一、简介 适配器模式是一种结构型设计模式允许将一个类的接口转换成客户端所期望的另一个接口使得原本由于接口不兼容而不能一起工作的类能够协同工作。适配器模式通常用于连接两个不兼容的接口允许它们协同工作而无需修改其原始代码。适配器模式包含以下主要角色 目标接口Target 客户端期待的接口。客户端通过这个接口与适配器进行交互。 适配器Adapter 实现了目标接口并持有一个对被适配者的引用。它将被适配者的接口转换为目标接口使得被适配者能够被客户端使用。 被适配者Adaptee 需要被适配的已存在的类或接口。它是客户端所期望的但与目标接口不兼容的类。 适配器模式的核心思想是创建一个适配器类使得客户端可以通过目标接口与适配器进行交互适配器内部持有一个被适配者对象并将客户端的请求转发给被适配者完成请求的转换和适配使得原本不兼容的接口能够协同工作。 适配器模式的主要用途是在不修改现有代码的情况下将不兼容的接口进行转换从而实现系统的兼容性和复用性。通常在集成新旧系统、使用第三方库、或者对现有系统进行扩展时会使用适配器模式。 二、使用 2.1、目标接口 这里我就用我们最常见的场景充电口来举例我们常见的就是 USB 、 TYPEC 并且他们都统一了充电的接口比如都叫 charge 。 // 通用的充电接口 public interface Charger {void charge(); }// 实现了 USB 接口的 Charger 类 public class USBCharger implements Charger {public void charge() {System.out.println(USB接口充电);} }// 实现了 Type-C 接口的 Charger 类 public class TypeCCharger implements Charger {public void charge() {System.out.println(Type-C接口充电);} }2.2、被适配者 但是某些厂家就很特殊它也有充电接口但是它不叫 charge 它搞个性叫 chargeWithLightning 是不是很屌并且你也不能改它的源码因为闭源。 // 苹果设备充电器接口 public interface LightningCharger {void chargeWithLightning(); }// 实现了 LightningCharger 接口的 LightningChargerImpl 类 public class LightningChargerImpl implements LightningCharger {public void chargeWithLightning() {System.out.println(Lightning接口充电);} }那怎么搞现在要统一接口比如对外都调用 charge 偏偏某些没源码不能改不能自己实现这个时候适配器就很适应了。 2.3、适配器 这个时候我们就给苹果充电增加一个适配器让适配器实现充电接口然后适配器调用苹果真实充电从而对外都是 charge 了。 // Lightning 适配到 Charger 的适配器类 public class LightningAdapter implements Charger {private LightningCharger lightningCharger;public LightningAdapter(LightningCharger lightningCharger) {this.lightningCharger lightningCharger;}public void charge() {lightningCharger.chargeWithLightning();} }2.4、使用 public class ChargerAdapterTest {public static void main(String[] args) {// 初始化 USB 充电器Charger usbCharger new USBCharger();// 使用 USB 充电器充电usbCharger.charge();// 初始化 Type-C 充电器Charger typeCCharger new TypeCCharger();// 使用 Type-C 充电器充电typeCCharger.charge();// 创建 Lightning 充电器适配器LightningCharger lightningCharger new LightningChargerImpl();Charger lightningAdapter new LightningAdapter(lightningCharger);// 使用 Lightning 适配器充电lightningAdapter.charge();} }很多人都说我直接像下面这样实现不就完事了 // 实现了 Type-C 接口的 Charger 类 public class LightningCharger implements Charger {public void charge() {System.out.println(Lightning接口充电);} }确实很多场景下是这样确实是没问的也应该是这样比较合理。但是我们这里的前提就是假设苹果充电能用接口方法不一致但是拿不到苹果代码去改啊。使用适配器的模式总是有些原因的比如 已存在的代码不允许修改 如果原有的接口已经被广泛使用并且不允许修改其接口定义或者修改成本很高这时引入适配器模式是一个解决方案。适配器模式可以允许新的类例如 LightningCharger与已有接口进行适配而不需要修改现有代码。 接口的变化和未知性 在设计初期可能无法预测未来可能的变化。如果在设计阶段就将所有接口都设计得很灵活以适应未来变化可能会增加不必要的复杂性。适配器模式可以在接口发生变化时通过适配器来进行兼容而无需修改大量的现有代码。 与第三方库或遗留代码的集成 有时我们需要与外部的第三方库或遗留代码进行集成而这些库或代码的接口可能与我们的系统接口不兼容。为了与它们集成并且使它们能够协同工作我们可能需要使用适配器模式来适配它们的接口。 多个变化源 当有多个变化源例如不同的厂商、不同版本的硬件等直接修改接口来适应每个变化源可能会导致代码的不稳定性和复杂性增加。适配器模式可以将这些变化源与核心代码解耦降低了耦合度使得系统更易于扩展和维护。 总之适配器模式主要用于将不兼容的接口转换为兼容的接口以便不同接口的类可以协同工作。在某些情况下尤其是在面对现有的、不可修改的接口或不可预测的接口变化时适配器模式可以是一个很有用的解决方案。
http://www.hkea.cn/news/14305809/

相关文章:

  • 常州网站推西安市城乡建设档案馆网站
  • 海南省建设考试网站公司介绍模板图片
  • wordpress仿站标签宁波北京网站建设
  • 网站引导页怎么做边个网站可以接模具做
  • 用什么网站做浏览器主页怎样快速建设网站模板
  • 北京市住房建设投资中心网站网站浏览图片怎么做
  • 开网站空间流量怎么选择wordpress 输入框
  • 六安网站自然排名优化价格做淘宝有哪些货源网站
  • 网站在阿里云备案流程推荐10网站
  • 怎么做网站推广林芝地区工作室logo设计
  • 淘宝客做网站链接康保网站制作
  • 河南郑州app建设网站建筑工人找活的平台app
  • 机关网站建设创新北京专业网站制作技术
  • 室内设计找工作网站天津企悦在线网站建设
  • 深圳专业商城网站制作网站建设首页包括什么
  • 所有网站名称大全网站建设开票应该开哪个行业
  • 自己做刷东西的网站wordpress 旋转预加载
  • 房产网站建设接单建网站的每年有费用
  • 长沙网站制作教程编程是学什么东西的
  • 汕头h5建站一个专门做试题的网站
  • 晋城市公共事业建设局网站如何建站网站
  • 个人信息网站建设的心得体会和县网站开发
  • 苏州企业网站制作多少钱做网站站怎么赚钱吗
  • 洛阳网站的优化网页游戏排行nvsheng
  • 企业门户网站的建设费用广州网站建设+致茂
  • 信息网站建设网站建设话语
  • 如何自己建公司网站自己做的网站邮箱更改密码程序为什么总出错
  • 佛山门户网站建设wordpress调用百度网盘视频
  • 玩具网站建设策划书国内网站建设的趋势是怎样的
  • 嘉兴南湖区建设局网站济南seo优化外包服务