Design Pattern(6)-Adapter Pattern
来源:互联网 发布:泰格软件使用教程 编辑:程序博客网 时间:2024/06/06 17:33
应用场景
试想,你已经有了一个类A,它具有一些功能。但是现在你需要另一些功能,这些功能可以复用A来实现,那么非常自然地应该想到让新的类来持有A的引用,实现组合结构,转发请求来实现新的功能。
类图
实例代码
Target:
你希望有一个完全符合Target接口的类来达到你的功能:
public interface Target { void Request();}
Adapter,适配器,完成一个连接旧有类与目标接口的功能:
public class Adapter implements Target { Adaptee adaptee; public Adapter(Adaptee adaptee) { this.adaptee = adaptee; } @Override public void Request() { adaptee.specificRequest1(); adaptee.specificRequest2(); }}
旧有类Adaptee:
public class Adaptee { void specificRequest1(){ System.out.println("specificRequest1 called"); } void specificRequest2(){ System.out.println("specificRequest2 called"); }}
Client:
public class Client { public static void main(String[] args){ Target target=new Adapter(new Adaptee()); target.Request(); }}
最终实现,调用Target对象的特定功能,复用了现有类。
扩展
说白了就是一个复用已有类而已,上面是通过组合复用。也可以通过继承复用。即Adapter实现Target接口,又继承自Adaptee类,所以实现复用。
0 0
- Design Pattern(6)-Adapter Pattern
- Design Pattern 6: Adapter Pattern
- Design Pattern - Structural Pattern - Adapter
- Design Pattern 11-Adapter
- C++ Design Pattern:Adapter
- [Design Pattern]:Adapter
- design pattern : Adapter
- design pattern - Adapter
- Design Pattern--Adapter
- Java design pattern: Adapter
- 一句话Design Pattern:Adapter
- Design pattern learning II: Adapter pattern
- Design Pattern - Structural Patterns - Adapter Pattern
- Design Pattern - Adapter(C#)
- Design Pattern: Default Adapter 模式
- Design Pattern——Adapter
- design pattern——adapter
- Design Pattern: Adapter 模式 - Object Adapter
- 一条会跳动的贝塞尔曲线
- AlarmManager使用
- 2017年 蓝桥杯模拟赛,猜算式(纯暴力)
- 最简单的Dagger2入门教程
- CDOJ_511题解
- Design Pattern(6)-Adapter Pattern
- C#中怎么判断一个数组中是否存在某个数组值
- Java基础学习之画板2
- RecyclerView的用法
- Picasso
- v8引擎helloworld
- MD5加密
- 《Objective-C编程全解》 读书笔记 第十七章 实例:简单图像视图
- Android 代码混淆