对于学校报告,我必须解释 java.io.Reader 包如何实现 Decorator pattern .我已经看到了 java.io 包的多种解释(例如 here),但没有看到 java.io.Reader 包(如果有任何不同的话)。这是我现在所拥有的,我知道这个设计没有正确显示它,但我不确定 java.io.Reader 包实际上是如何实现它的。
所以在这种情况下,Reader
将是 Component
,InputStreamReader
Concrete Component
,BufferedReader
Decorator
和 LineNumberReader
Concrete Decorator
。同样,我知道这是错误的,但我不知道如何正确显示它。
最佳答案
图表是正确的。如果您可以访问 Intellij(或其他功能强大的工具),您可以看到 Java 类型的 UML 类图。下面的代码片段就是这样一个图表。
如您所见,它与您的一致。不过,我会考虑的一件事是 BufferedReader
具体装饰器,因为它在 Reader
上提供了额外的行为。
关于java - 装饰器模式 java.io.reader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46994892/