设计模式(三)–适配器模式

文章目录

  • 设计模式(三)--适配器模式
      • 其他链接
    • 1. 适配器模式
      • 1.1 介绍
      • 1.2 类适配器
      • 1.3对象适配器
      • 1.4 对比

其他链接

JVM学习笔记(一)
JVM学习笔记(二)
JVM学习笔记(三)
JVM学习笔记(四)
(待更新…)

Java NIO
(待更新…)

设计模式(一)
设计模式(二)
设计模式(三)
设计模式(四)
(待更新…)

1. 适配器模式

1.1 介绍

适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。适配器模式是属于结构型模式。

适配器有两种实现的方式:

  • 类适配器
  • 对象适配器

1.2 类适配器

类适配器用的是继承的方式,类适配器有一点缺点,对应一些只支持单继承的语言来说,类适配器只能做单一的适配工作。

代码实现

适配器接口

public interface Adapter{//适配方法,Netline转Usb接口public void NetlineToUsb();
}

适配器实现类

public class transfer extends Computer implements Adapter{//转换器继承电脑类,实现适配接口public void NetlineToUsb(){System.out.println("转化处理");super.ToUsb();}
}

网线

public class Netline{public void lineTo(Adapter Usbadapter){System.out.println("插入网线口");Usbadapter.NetlineToUsb()}
}

电脑类

public class Computer{public void ToUsb(){System.out.println("插入USB口网线");}
}

演示

public static void main(String[] args){//创建电脑,网线,适配器Computer c = new Computer();Netline n = new Netline();transfer t = new transfer();/*流程:网线调用lineto,插入适配器中适配器调用继承方法,插入到电脑中*/n.lineTo(t);
}

如图:

1.3对象适配器

对象适配器使用的是对象依赖的方式,不通过继承方式来实现。只需更改适配器实现类,让其使用对象的方式即可。

适配器实现类

public class transfer implements Adapter{private Computer computer;public transfer(Computer computer){this.computer = computer;}public void NetlineToUsb(){System.out.println("转化处理");this.computer.ToUsb();}
}

演示

public static void main(String[] args){//创建电脑,网线,适配器Computer c = new Computer();Netline n = new Netline();transfer t = new transfer(c);n.lineTo(t);}

1.4 对比

  • 对象适配器优点:对象适配器能把不同的适配者传递给适配者,符合“里氏替换原则”

设计模式(三)--适配器模式相关推荐

  1. C#设计模式(7)——适配器模式(Adapter Pattern)

    一.引言 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象.那么如果将"将现存的对象" ...

  2. 跟JBPM学设计模式之适配器模式

    跟JBPM学设计模式之适配器模式 模式简介 适配器模式(Adapter),将一个类的接口转换成客户希望的另一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 说起适配器模式 ...

  3. 设计模式适配器模式_21世纪的设计模式:适配器模式

    设计模式适配器模式 这是我的演讲的第三部分," 21世纪的设计模式" . 适配器模式桥接世界. 在一个世界中,我们有一个概念的界面. 在另一个世界,我们有不同的界面. 这两个接口有 ...

  4. 适配器模式_21世纪的设计模式:适配器模式

    适配器模式 这是我的演讲的第三部分," 21世纪的设计模式" . 适配器模式桥接世界. 在一个世界中,我们有一个概念的界面: 在另一个世界中,我们有不同的界面. 这两个接口有不同的 ...

  5. 设计模式回顾——适配器模式(C++)

    文章目录 1 前言 2 什么是适配器模式 2.1 生活中的适配器 2.2 适配器模式含义 2.3 适配器模式作用 3 适配器模式优缺点 3.1 适配器优缺点 3.2 类适配器优缺点 3.3 对象适配器 ...

  6. 《设计模式》适配器模式

    <设计模式>设计模式的基本原则 <设计模式>单例模式 <设计模式>工厂模式 <设计模式>原型模式 <设计模式>建造者模式 <设计模式& ...

  7. Java进阶专题(八) 设计模式之适配器模式、装饰者模式、观察者模式

    本章节将介绍:三个设计模式,适配器模式.装饰者模式和观察者模式.通过学习适配器模式,可以优雅的解决代码功能的兼容问题.另外有重构需求的人群一定需要掌握装饰者模式.本章节参考资料书籍<Spring ...

  8. 05.设计模式之适配器模式

    1.什么是适配器? 2.适配器设计原理 3.springmvc .mybatis哪些场景使用到适配器? 4.企业级多api版本如何采用适配器重构 什么是适配器 1.适配器模式是一种结构型设计模式.适配 ...

  9. 设计模式之适配器模式、委派模式、访问者模式、工厂模式、桥接模式(双维度扩展)

    设计模式之适配器模式.委派模式.访问者模式.工厂模式.观察者-发布订阅模式 设计模式分类: 适配器模式(Adapter Pattern) 定义 使用场景 代码实现 写法一:类适配器 写法二:对象适配器 ...

  10. 设计模式三—抽象工厂模式

    设计模式三-抽象工厂模式 一.定义 抽象工厂模式是工厂方法模式的进一步抽象.如果产品簇中只有一种产品,则退化为工厂方法模式. 二.原理图 三.代码实例 * 苹果和土豆是园丁1的杰作 * 葡萄和西红柿是 ...

最新文章

  1. FormsAuthentication详解
  2. 聊聊lettuce的shareNativeConnection参数
  3. SAP MTA打包的一些常见错误
  4. jvm虚拟机_一文入门jvm虚拟机
  5. 计算机的硬盘 内存在哪查到,电脑硬盘内存怎么查看
  6. 计算机网络 —— OSI参考模型
  7. angular中的MVVM模式
  8. python双星号什么运算_Python中的*(星号)和**(双星号)完全详解
  9. stringexample.java_给出如下声明:String s = “Example”; 合法的代码有哪些?()_学小易找答案...
  10. menu在python中的意思_Python-Tkinter 组件之Menu
  11. mysql三个表连接语句_INNER JOIN连接两个表、三个表、五个表的SQL语句
  12. 服务器繁忙 微信 苹果,iOS 9正式放出 服务器繁忙苹果推荐用户早晨更新
  13. php内核邮件群发管理系统源码
  14. 贝塞尔曲线轨迹运动原理与实战
  15. 国产智能AI对话:技术狂潮之下,要有梦元宇宙正在改变世界
  16. 源码阅读技巧总结-Android
  17. 基于区块链的供应链金融系统解决方案—我的程序员学院课程
  18. p2000显卡LINUX无显示,petalinux 2020.01工程 linux系统启动不完全
  19. 复数运算(对数,指数,正弦)
  20. ‘gbk‘ codec can‘t decode byte 0xa4 in position 4: illegal multibyte sequence

热门文章

  1. shell常见的文件属性检查
  2. MPAndroidChart——饼图
  3. ruby 安装和管理
  4. 项目管理系列之项目范围时间及资源管理(二)
  5. 呼叫中心的技术创新源于管理文化的变革
  6. C# 代理HTTP请求
  7. 使用Gitblit 搭建Windows Git服务器
  8. IOS调用WCF提供的服务方法,但是方法的参数是WCF那边自定义的对象,这样有办法调用么,如果可以IOS应该怎么传参呢?请问有了解的么,...
  9. Asp.net(C#)动态生成表格中的按钮和事件响应
  10. mongodb远程连接配置(亲测)