例如,
PrintWriter writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(
System.out)));
这是方法链接模式吗?
答案 0 :(得分:4)
创作模式:
Examples of GoF Design Patterns in Java's core libraries
在Java中,输入/输出类每个都设计为很好地完成一个工作,并且几个类一起用于执行复杂的工作。
Java I / O类的工作方式遵循一般模式,称为Decorator。
许多I / O类用于通过提供一些“花哨的包装”来装饰另一个I / O类的对象。我们在第4章中查看了装饰器的策略。这里我们有一种不同类型的装饰器,但完全相同。
Writer的装饰器本身就是一个编写器,它将提供一些其装饰的对象无法提供的附加服务。在这里,我们想使用PrintWriter,它知道如何编写Java程序已知的大部分内容。但是,打印作者实际上并不打印。
它只知道如何格式化你给它的东西(比如整数)并将它们传递给它装饰的作家。我们必须将PrintWriter分层到FileWriter上才能输出到文件。这也很容易做到,虽然它也可能抛出IOException。
PrintWriter output = new PrintWriter(new FileWriter("data.txt"));
http://www.csis.pace.edu/~bergin/KarelJava2ed/ch10/index.html