Java 设计模式 Adapter 对象适配器 模式
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 对象适配器 模式相关推荐
- 适配接口 java_【Java 设计模式】接口型模式--Adapter(适配器)模式
简介:[Java设计模式]接口型模式–Adapter(适配器)模式Adapter模式的宗旨就是:向客户提供接口,并使用现有的类所提供的服务,以满足客户的需求. 或者说,现在有classA的方法满足客户 ...
- Java设计模式(装饰者模式-组合模式-外观模式-享元模式)
Java设计模式Ⅳ 1.装饰者模式 1.1 装饰者模式概述 1.2 代码理解 2.组合模式 2.1 组合模式概述 2.2 代码理解 3.外观模式 3.1 外观模式概述 3.2 代码理解 4.享元模式 ...
- java设计模式4--建造者模式(Builder)
本文地址:http://www.cnblogs.com/archimedes/p/java-builder-pattern.html,转载请注明源地址. 建造者模式 将一个复杂对象的构建与它的表示分离 ...
- java设计模式2-观察者模式
java设计模式2-观察者模式 什么是观察者模式? 何谓观察者模式?观察者模式定义了对象之间的一对多依赖关系,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并且自动更新. 在这里,发生改变 ...
- Java设计模式之中介者模式(UML类图分析+代码详解)
大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...
- Java设计模式之享元模式(UML类图分析+代码详解)
大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...
- java设计模式3种工厂模式
java设计模式3种工厂模式 2010-01-08 16:06:36| 分类: JAVA技术|举报|字号 订阅 下载LOFTER客户端 工厂模式分为三种: Simple Factory模式 专门定义 ...
- Java设计模式10,建造者模式
目录 一.建造者模式 二.建造者模式的结构 1.抽象建造者(Builder) 2.具体建造者(ConcreteBuilder) 3.指挥者(Director) 4.产品(Product) 三.建造者模 ...
- JAVA设计模式之责任链模式(职责链模式)
转自JAVA设计模式之责任链模式(职责链模式) 责任链/职责链(Chain of Responsibility)模式的定义 为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理 ...
最新文章
- Srping Boot日志输出(转)
- [TJOI2011] 书架(线段数优化dp + 单调栈)
- 【渝粤教育】国家开放大学2018年春季 0471-21T畜牧学 参考试题
- python web py官网_python web.py
- WinForms多线程编程之摇奖程序
- python中怎么计算_python中的加减乘除运算
- Howto Dynamically Insert Javascript And CSS
- [Ext JS ][12.13] FieldSet 与 Grid结合 ,实现FieldSet 显示Gird中Store 的数量
- 回转体怎么划分六面体网格_一文了解ANSYS Meshing 高级网格划分技术
- 随机效应估算与固定效应估算_混合OLS模型、固定效应模型、随机效应模型的区别是什么...
- NRF51822---AD采样(连载5)
- Sphinx 全文搜索引擎 介绍指南
- uvm event 事件机制
- 设计数据库原则4个原则_四个设计原则
- 国内物联网产业仍处初级阶段 运营商NB-IoT大有可为
- Linux中zsh插件,Zsh 常用插件
- 培训机构靠谱吗?|猿代码科技
- Java基础知识点面试题,安卓程序员必备hook技术之进阶篇
- 数字后端基本概念介绍Tie cell
- imx6 添加matrix keypad
热门文章
- W5500EVB开8个TCP Client
- ARM:MPU MMU SMMU
- 【Lintcode】1533. N-ary Tree Level Order Traversal
- 编码器如何推流给SLS,VLC/VMIX/OBS如何播放SLS流
- 红黑树:节点插入详解及其红黑树自我实现
- 零基础Python数据分析实战:豆瓣人的电影口味重吗?
- java中的类和对象(重点)超详细
- OW+(NRI)框架中的一下设置
- ex20——python文件读read()、readline()、readlines()对比
- ap备考计算机科学a考情分析,真确备考AP计算机科学的方法