设计模式 - 适配器模式
2017-06-04 15:36
120 查看
适配器模式在现代的Java框架中十分常用。适配器模式将一个类的接口转换成客户期望的另一个接口,让原本不兼容的接口可以合作无间。
从图中下半部分可以看到,适配器包含了一个桔子实例并且继承了苹果类。桔子对象被包装了一个适配器,于是桔子表现得就像苹果一样了。
适配器模式类图
适配器模式Java示例代码
java.io.OutputStreamWriter(OutputStream) (返回一个Writer)
在一个真实的大型框架中,这种模式的实现可能并不十分明显。例如,在Eclipse中就很难发现适配器模式是如何运用的。
1、适配器模式的故事
适配器的思想可以通过下面这个简单的例子说明。这个示例要让一个桔子被“适配”成一个苹果。从图中下半部分可以看到,适配器包含了一个桔子实例并且继承了苹果类。桔子对象被包装了一个适配器,于是桔子表现得就像苹果一样了。
适配器模式类图
适配器模式Java示例代码
class Apple { public void getAColor(String str) { System.out.println("Apple color is: " + str); } } class Orange { public void getOColor(String str) { System.out.println("Orange color is: " + str); } } class AppleAdapter extends Apple { private Orange orange; public AppleAdapter(Orange orange) { this.orange = orange; } @Override public void getAColor(String str) { orange.getOColor(str); } } public class TestAdapter { public static void main(String[] args) { Apple apple1 = new Apple(); Apple apple2 = new Apple(); apple1.getAColor("green"); Orange orange = new Orange(); AppleAdapter aa = new AppleAdapter(orange); aa.getAColor("red"); } }
2、适配器模式在Java SDK中的运用
java.io.InputStreamReader(InputStream) (返回一个Reader)java.io.OutputStreamWriter(OutputStream) (返回一个Writer)
在一个真实的大型框架中,这种模式的实现可能并不十分明显。例如,在Eclipse中就很难发现适配器模式是如何运用的。
相关文章推荐
- 结构型设计模式---Adapter模式(适配器模式)
- 设计模式[3] Adapter 适配器模式
- 设计模式c#语言描述——适配器模式
- Head First 设计模式之适配器模式学习
- Java设计模式之适配器模式
- 深入浅出Java设计模式之适配器模式
- 设计模式学习(七)适配器模式
- 设计模式1-适配器模式(Adapter)
- 设计模式 - Adapter Pattern(适配器模式)
- 乐在其中设计模式(C#) - 适配器模式(Adapter Pattern)
- 结合实现谈设计模式——适配器模式
- 深入浅出Java设计模式之适配器模式
- 设计模式——适配器模式
- .NET设计模式-适配器模式(Adapter Pattern)
- Dot Net设计模式—适配器模式
- 设计模式c#语言描述——建造者模式、适配器模式、合成(Composite)模式
- 乐在其中设计模式(C#) - 适配器模式(Adapter Pattern)
- Java设计模式之适配器模式
- .NET设计模式(8):适配器模式(Adapter Pattern)
- 设计模式(9)-适配器模式(Adapter)