15适配器模式Adapter
模式 15 适配器 Adapter
2023-09-27 14:25:08 时间
一、什么是适配器模式
Adapter模式也叫适配器模式,是构造型模式之一 ,通过Adapter模式可以改变已有类(或外部类)的接 口形式。
二、适配器模式应用场景
在大规模的系统开发过程中,我们常常碰到诸如以下这些情况: 我们需要实现某些功能,这些功能已有还不太成熟的一个或多个外 部组件,如果我们自己重新开发这些功能会花费大量时间;所以很 多情况下会选择先暂时使用外部组件,以后再考虑随时替换。但这 样一来,会带来一个问题,随着对外部组件库的替换,可能需要对 引用该外部组件的源代码进行大面积的修改,因此也极可能引入新 的问题等等。如何最大限度的降低修改面呢?
Adapter模式就是针对这种类似需求而提出来的。
Adapter模式通过定义一个新的接口(对要实现的功能加以抽象), 和一个实现该接口的Adapter(适配器)类来透明地调用外部组件。 这样替换外部组件时,最多只要修改几个Adapter类就可以了,其他 源代码都不会受到影响。
三、适配器模式的结构
1.通过继承实现Adapter
2.通过委让实现Adapter
电流
1 //电流 2 public class Current { 3 4 public void use220V() { 5 System.out.println("使用220V电流"); 6 } 7 }
适配器1 继承电流
1 //适配器 继承电流 2 public class Adapter extends Current{ 3 public void use18V() { 4 System.out.println("使用适配器"); 5 this.use220V(); 6 } 7 }
适配器2
1 //适配器2 2 public class Adapter2 { 3 private Current current; 4 5 public Adapter2(Current current) { 6 this.current = current; 7 } 8 9 public void use18V() { 10 System.out.println("使用适配器"); 11 this.current.use220V(); 12 } 13 }
测试
1 public class MainClass { 2 public static void main(String[] args) { 3 // Current current = new Current(); 4 // current.use220V(); 5 6 // Adapter adapter = new Adapter(); 7 // adapter.use18V(); 8 9 Adapter2 adapter = new Adapter2(new Current()); 10 adapter.use18V(); 11 } 12 }
相关文章
- 设计模式复习-适配器模式
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
- 设置 TIM3_CH2 的 PWM 模式,使能 TIM3 的 CH2 输出
- 【LTE-A异构网络】LTE-A异构网络中通过基站的睡眠模式节约能源
- 127 python高级 - 生产者与消费者模式
- 中国企业O2O化服务模式研究报告(66PPT)
- 设计模式java——解释器模式
- Win10通过带命令行的安全模式清除顽固的广告弹窗文件
- PHP 错误与异常 笔记与总结(15 )使用观察者模式处理异常信息
- CIO管理新模式:支持型领导
- intel的fifo特性-show_ahead模式
- 【设计模式】访问者模式
- 深入理解JavaScript系列(29):设计模式之装饰者模式