1, 什么是适配器

1.1  扳手是用来拧螺丝的,  我要想适配到合适的扳手, 我肯定得先知道螺丝的大小
1.2  一种约定, 就好比后端Java 写的接口, 每个对外接口都是适配前端的请求
1.3  我买一瓶农夫山泉, 你拿一块钱给我, 我肯定不卖, 你给我两块钱我才卖, 这也是适配
1.4     大家肯定用过, 你每写的一个if, 都可以抽象理解为对某一种环境参数的适配

2, 适配器模式的定义

2.1  通过上面的解释, 下面讲白话
2.2  就是通过调用者的一些参数, 返回我们约定好的结果, 或者执行我们约定好的操作, 这便是适配器模式

3, 案例

我这里写的就很简单了, 只是为了方便大家理解, 
可以把适配器抽象出来, 然后配合其他设计模式, 比如工厂模式, 实现适配器的规则, 
抽象适配器参数
抽象适配器结果
区分具象适配器
这样设计更加面向对象

public class Adapter {public String oppoint1(String param) {if ("你好".equals(param))return "你也好";return "没有有结果";}public void oppoint2(String param) {if ("你好".equals(param))System.out.println("do something for 你好");if ("hello".equals(param))System.out.println("do something for hello");}
}

进阶学习(3.10) Adapter Pattern 适配器模式相关推荐

  1. Java Adapter Pattern(适配器模式)

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

  2. opencv进阶学习笔记10:图像金字塔和图像梯度

    基础版笔记传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 图像金字塔 变小 变大 原理 ...

  3. 进阶学习(3.12) Operand Pattern 装饰器模式

    1, 什么是装饰器 1.1  装饰针对的是某一对象, 它不会改变事物的本质,  比如一个人买了一顶帽子, 它本质还是一个人 1.2  比如一个Date 对象, 它本质还是一个Object, 这个太抽象 ...

  4. 进阶学习(3.14) Strategy Pattern 策略模式

    1, 什么是策略模式 1.1  未达到预期目的的各种应对方案 1.2  程序代码中的每一个分支都可以称之为策略, 而策略模式,则是将行为划分到具体类, 使用类对象区分行为 2, 优缺点 2.1  减少 ...

  5. 进阶学习(3.13) Proxy Pattern 代理模式

    1, 代理模式, 这个地方的代理不是指JDK 动态代理 2, 代理模式和策略模式很像, 要注意区分, 区分的特征就是 2.1) 装饰者可以对任何的装饰抽象实例进行装饰, https://blog.cs ...

  6. 进阶学习(3.11) Facade Pattern 门面模式

    1, 什么叫门面模式, 也称之为接待员模式 1.1 我更愿意称之为阿拉丁模式, 阿拉丁灯神, 你想什么, 它就直接给你实现了, 你别管中间有多少困难, 他就直接给你实现了 1.2 好下面介绍门面模式, ...

  7. 进阶学习(3.9) Bridge Pattern 桥接模式

    1, 什么是桥接 桥,  提供给两方, 或者多方相交汇的作用, 例如, A 函数想调用 B 函数, 常见的方法就是, 直接在A 中显式 调用B, 这样存在高耦合,  如果我们使用一个中间函数C, 在C ...

  8. 进阶学习(3.8) Component Pattern 组合模式

    1, 什么是组合模式 一句话概括, 复杂的实体类, 一个对象里面包含多个对象, 就是一种组合, 完善对象的数据多样性, 其实大部分的设计模式, 我们再日常编程中都会使用, 有些可能使用了完整的思想, ...

  9. 进阶学习(3.7) Flyweight Pattern 享元模式

    1, 前言 看完了设计模式发现, 设计模式是一种设计思想, 并不是某种规范, 要是让我去记设计模式的规范, 我是无法记住的, 也无法应用实际, 所以此后的设计模式, 都将注重思想理解,  学会举一反三 ...

最新文章

  1. RDKit | 基于相似图可视化原子贡献
  2. Google 鼓励的 13 条代码审查标准,建议收藏!
  3. 如何设计一门语言(十二)——设计可扩展的类型
  4. 用C语言实现有限状态自动机FSM
  5. python字符集_Python任意字符集转换
  6. OpenCV跟踪支持的实例(附完整源代码)
  7. 机器学习(十七)——决策树, 推荐系统进阶
  8. 如何下载 SAP Cloud for Customer Cloud Application Studio
  9. 解决360等等浏览器兼容模式解析不兼容代码
  10. 第二阶段团队冲刺(七)
  11. 数据挖掘 点击更多 界面_8(更多)技巧,可快速改善用户界面
  12. 程序员(工作2年)立flag,面四家,成三家,最后进了蚂蚁.....
  13. 《Python Cookbook 3rd》笔记(4.14):展开嵌套的序列
  14. linux下进程监控6,Linux进程监控技术—精通软件性能测试与LoadRunner最佳实战(6)...
  15. python安装第三方库-常见错误解决
  16. 开源软件、开源硬件、……开源餐馆来了
  17. 香蕉派,蜘蛛侠手臂和USO世界
  18. 力扣28. 实现 strStr()(KMP算法,JavaScript)
  19. ROS学习笔记10(创建一个ROS消息和服务)
  20. DameWare NT Utilities

热门文章

  1. getServletPath与getRequestURI
  2. ubuntu下Qt Creator使用valgrind检测内存泄漏
  3. 图像矫正与车牌识别资料整理
  4. 十六、Redis三种特殊类型之三Bitmap
  5. c语言程序设计A课程试,自学考试有关论文范文,与C语言程序设计A课程辅导相关硕士毕业论文范文...
  6. jq输出文本_jQuery获取文本节点之 text()/val()/html() 方法区别
  7. 通过idea将maven工程转为web项目
  8. Java从键盘输入n行字符串_Java十四天零基础入门-Java布尔类型
  9. 计算机二级c语言作弊的东西,计算机二级C全部考试题库[作弊必备]编程题.txt
  10. centos7.1 RabbitMQ安装配置