Java的文件编写使用什么设计模式?

时间:2014-02-19 12:08:53

标签: design-patterns

例如,

PrintWriter writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(
                System.out)));

这是方法链接模式吗?

1 个答案:

答案 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