Update 设计模式 - 适配器.md

补充适配器与装饰模式的区别说明,在 JDK 应用小节中补充 InputStreamReader 示例,并进行参考文献条目的文字校对。
This commit is contained in:
CyC2018
2026-10-30 20:19:46 +08:00
parent 3619b6268d
commit 5193d73b4e
+9 -1
View File
@@ -59,7 +59,15 @@ public class Client {
}
```
```text
gobble!
```
适配器和[装饰](设计模式%20-%20装饰.md)都包装另一个对象,区别在于接口:适配器把被包装对象的接口转换成客户端需要的另一个接口(gobble() 变成 quack()),装饰保持接口不变,只叠加功能。
### JDK 中的应用
Java I/O 中,InputStreamReader 是适配器:它是一个 Reader,内部的解码器从 InputStream 读出字节并解码成字符,让字节流可以当作字符流使用。
- [java.util.Arrays#asList()](http://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#asList%28T...%29)
- [java.util.Collections#list()](https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html#list-java.util.Enumeration-)
- [java.util.Collections#enumeration()](https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html#enumeration-java.util.Collection-)
@@ -67,4 +75,4 @@ public class Client {
## 参考资料
- 弗里曼. Head First 设计模式 [M]. 中国电力出版社, 2007.
- Gamma E. 设计模式: 可复用面向对象软件的基础 [M]. 机械工业出版社, 2007.
- Gamma E. 设计模式:可复用面向对象软件的基础 [M]. 机械工业出版社, 2007.