java如何使用多种方法组合创建对象?
我有一个通用的自定义对象converter
,它应该能够
- 读取XML并写入XML
- 从XML读取并写入CSV
- 从CSV读取并写入XML
- 从CSV读取并写入CSV
所以,我想我可以做smth,比如:
Converter
{
IReader reader;
IWriter writer;
}
IReader
{
read();
}
。。(作家也是如此) 然后从每个接口中的一个实例化转换器,实现:
new Converter(XMLReader, CSVWriter);
(其中XMLReader implements IReader
&;CSVWriter implements IWriter
)
但话说回来,能够将与XML相关的类也放在一起会更酷
可以是一个简单的问题和一个简单的答案,但我想知道我们是否能想出一个更优雅的解决方案
提前谢谢
# 1 楼答案
你的设计很好。如果你想把你的类组合在一起,可以使用包。例如,创建包:
com.mycompany.xml
和com.mycompany.csv
。然后把CsvReader
和CsvWriter
放到com.mycompany.csv
和XmlReader
和XmlWriter
放到com.mycompany.xml