Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解桥接模式和Java流_Java_Design Patterns_Io_Bridge - Fatal编程技术网

理解桥接模式和Java流

理解桥接模式和Java流,java,design-patterns,io,bridge,Java,Design Patterns,Io,Bridge,我正在阅读GoF设计模式并试图理解桥接模式。现在,考虑java流()。 他们引入了两种流:节点流和过滤流。后者使用节点流执行对另一个流的实际写入/读取。因此,节点流包含低级IO细节。在GoF网桥模式的意义上,节点流可以被视为过滤器流所使用的网桥(实现者) 如果是这样,不为网桥创建单独的接口是否是一种好的做法。例如: public interface DataWriter{ public void write(Object); } 在我的例子中,可能有两种实现:一种定义低级IO细节,另

我正在阅读GoF设计模式并试图理解桥接模式。现在,考虑java流()。 他们引入了两种流:节点流过滤流。后者使用节点流执行对另一个流的实际写入/读取。因此,节点流包含低级IO细节。在GoF网桥模式的意义上,节点流可以被视为过滤器流所使用的网桥(
实现者

如果是这样,不为网桥创建单独的接口是否是一种好的做法。例如:

public interface DataWriter{

    public void write(Object);
}

在我的例子中,可能有两种实现:一种定义低级IO细节,另一种执行转换、验证等,并使用底层DataWriter写入数据(到文件系统持久性存储、Java
OutputStream
等)。我能认为第一个是一个桥,只是为接口写一个JavaDoc,以避免创建另一个<代码> DATAWrror实现或<代码>接口?< /P>二十年前我使用了一个桥接模式,从那时起我就后悔了。不要觉得你必须使用书中的每一种模式。@EJP这是一个很好的观点,但它不适合我的情况吗?我的意思是,我可以提供不同的实现者(
StreamWriterImplementor
和例如
DataBasePersistenceImplementor
)。这难道不是一个错误的方法吗?二十年前我就用过一次桥接模式,从那以后我就后悔了。不要觉得你必须使用书中的每一种模式。@EJP这是一个很好的观点,但它不适合我的情况吗?我的意思是,我可以提供不同的实现者(
StreamWriterImplementor
和例如
DataBasePersistenceImplementor
)。这不是一个错误的方法吗?