Java 设计模式 Adapter 对象适配器 模式

Adapter模式用于现有的程序无法直接使用,需要做适当的变换之后才能使用的情况。

涉及到的角色

  • Target对象:定义所需的方法。
  • Client请求者:使用Target对象所定义的方法。
  • Adaptee被适配:是一个持有既定方法的角色。
  • Adapter适配:使用Adaptee角色来满足Target角色。
/*** Target 对象* @author 托马斯小火车喷雾又喷烟**/
public abstract class Shop {/*** 售卖热饮*/public abstract void sellHotDrink();/*** 售卖冷饮*/public abstract void sellColdDrink();}
/*** Adaptee 被适配* @author 托马斯小火车喷雾又喷烟**/
public class Drinks {public void cellCoffee() {System.out.println("售卖咖啡!");}public void cellCola() {System.out.println("售卖可乐!");}}
/*** Adapter 适配* @author 托马斯小火车喷雾又喷烟**/
public class ShopDrinks extends Shop {private Drinks drinks;public ShopDrinks() {drinks = new Drinks();}@Overridepublic void sellHotDrink() {drinks.cellCoffee();}@Overridepublic void sellColdDrink() {drinks.cellCola();}}
/*** Client 请求者* @author 托马斯小火车喷雾又喷烟**/
public class Main {public static void main(String[] args) {Shop shop = new ShopDrinks();shop.sellHotDrink();shop.sellColdDrink();}}
售卖咖啡!
售卖可乐!

Java 设计模式 Adapter 对象适配器 模式相关推荐

  1. 适配接口 java_【Java 设计模式】接口型模式--Adapter(适配器)模式

    简介:[Java设计模式]接口型模式–Adapter(适配器)模式Adapter模式的宗旨就是:向客户提供接口,并使用现有的类所提供的服务,以满足客户的需求. 或者说,现在有classA的方法满足客户 ...

  2. Java设计模式(装饰者模式-组合模式-外观模式-享元模式)

    Java设计模式Ⅳ 1.装饰者模式 1.1 装饰者模式概述 1.2 代码理解 2.组合模式 2.1 组合模式概述 2.2 代码理解 3.外观模式 3.1 外观模式概述 3.2 代码理解 4.享元模式 ...

  3. java设计模式4--建造者模式(Builder)

    本文地址:http://www.cnblogs.com/archimedes/p/java-builder-pattern.html,转载请注明源地址. 建造者模式 将一个复杂对象的构建与它的表示分离 ...

  4. java设计模式2-观察者模式

    java设计模式2-观察者模式 什么是观察者模式? 何谓观察者模式?观察者模式定义了对象之间的一对多依赖关系,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并且自动更新. 在这里,发生改变 ...

  5. Java设计模式之中介者模式(UML类图分析+代码详解)

    大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...

  6. Java设计模式之享元模式(UML类图分析+代码详解)

    大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...

  7. java设计模式3种工厂模式

    java设计模式3种工厂模式 2010-01-08 16:06:36|  分类: JAVA技术|举报|字号 订阅 下载LOFTER客户端 工厂模式分为三种: Simple Factory模式 专门定义 ...

  8. Java设计模式10,建造者模式

    目录 一.建造者模式 二.建造者模式的结构 1.抽象建造者(Builder) 2.具体建造者(ConcreteBuilder) 3.指挥者(Director) 4.产品(Product) 三.建造者模 ...

  9. JAVA设计模式之责任链模式(职责链模式)

    转自JAVA设计模式之责任链模式(职责链模式)​​​​​​​ 责任链/职责链(Chain of Responsibility)模式的定义 为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理 ...

最新文章

  1. Srping Boot日志输出(转)
  2. [TJOI2011] 书架(线段数优化dp + 单调栈)
  3. 【渝粤教育】国家开放大学2018年春季 0471-21T畜牧学 参考试题
  4. python web py官网_python web.py
  5. WinForms多线程编程之摇奖程序
  6. python中怎么计算_python中的加减乘除运算
  7. Howto Dynamically Insert Javascript And CSS
  8. [Ext JS ][12.13] FieldSet 与 Grid结合 ,实现FieldSet 显示Gird中Store 的数量
  9. 回转体怎么划分六面体网格_一文了解ANSYS Meshing 高级网格划分技术
  10. 随机效应估算与固定效应估算_混合OLS模型、固定效应模型、随机效应模型的区别是什么...
  11. NRF51822---AD采样(连载5)
  12. Sphinx 全文搜索引擎 介绍指南
  13. uvm event 事件机制
  14. 设计数据库原则4个原则_四个设计原则
  15. 国内物联网产业仍处初级阶段 运营商NB-IoT大有可为
  16. Linux中zsh插件,Zsh 常用插件
  17. 培训机构靠谱吗?|猿代码科技
  18. Java基础知识点面试题,安卓程序员必备hook技术之进阶篇
  19. 数字后端基本概念介绍Tie cell
  20. imx6 添加matrix keypad

热门文章

  1. W5500EVB开8个TCP Client
  2. ARM:MPU MMU SMMU
  3. 【Lintcode】1533. N-ary Tree Level Order Traversal
  4. 编码器如何推流给SLS,VLC/VMIX/OBS如何播放SLS流
  5. 红黑树:节点插入详解及其红黑树自我实现
  6. 零基础Python数据分析实战:豆瓣人的电影口味重吗?
  7. java中的类和对象(重点)超详细
  8. OW+(NRI)框架中的一下设置
  9. ex20——python文件读read()、readline()、readlines()对比
  10. ap备考计算机科学a考情分析,真确备考AP计算机科学的方法