理解桥接模式和Java流
我正在阅读GoF设计模式并试图理解桥接模式。现在,考虑java流()。 他们引入了两种流:节点流和过滤流。后者使用节点流执行对另一个流的实际写入/读取。因此,节点流包含低级IO细节。在GoF网桥模式的意义上,节点流可以被视为过滤器流所使用的网桥(理解桥接模式和Java流,java,design-patterns,io,bridge,Java,Design Patterns,Io,Bridge,我正在阅读GoF设计模式并试图理解桥接模式。现在,考虑java流()。 他们引入了两种流:节点流和过滤流。后者使用节点流执行对另一个流的实际写入/读取。因此,节点流包含低级IO细节。在GoF网桥模式的意义上,节点流可以被视为过滤器流所使用的网桥(实现者) 如果是这样,不为网桥创建单独的接口是否是一种好的做法。例如: public interface DataWriter{ public void write(Object); } 在我的例子中,可能有两种实现:一种定义低级IO细节,另
实现者
)
如果是这样,不为网桥创建单独的接口是否是一种好的做法。例如:
public interface DataWriter{
public void write(Object);
}
在我的例子中,可能有两种实现:一种定义低级IO细节,另一种执行转换、验证等,并使用底层DataWriter写入数据(到文件系统持久性存储、Java
OutputStream
等)。我能认为第一个是一个桥,只是为接口写一个JavaDoc,以避免创建另一个<代码> DATAWrror实现或<代码>接口?< /P>二十年前我使用了一个桥接模式,从那时起我就后悔了。不要觉得你必须使用书中的每一种模式。@EJP这是一个很好的观点,但它不适合我的情况吗?我的意思是,我可以提供不同的实现者(StreamWriterImplementor
和例如DataBasePersistenceImplementor
)。这难道不是一个错误的方法吗?二十年前我就用过一次桥接模式,从那以后我就后悔了。不要觉得你必须使用书中的每一种模式。@EJP这是一个很好的观点,但它不适合我的情况吗?我的意思是,我可以提供不同的实现者(StreamWriterImplementor
和例如DataBasePersistenceImplementor
)。这不是一个错误的方法吗?