如何使用方法组合创建对象?

时间:2014-02-19 19:38:26

标签: java design-patterns inheritance polymorphism

我有一个多功能的自定义对象converter应该可以,

  • 从XML读取并写入XML
  • 从XML读取并写入CSV
  • 从CSV读取并写入XML
  • 从CSV中读取并写入CSV

所以,我认为我可以做得像:

Converter
{
   IReader reader;
   IWriter writer;
}

IReader
{
 read();
}

..(作家同样) 然后从每个实例中实例化一个转换器,实现接口:

new Converter(XMLReader, CSVWriter);

XMLReader implements IReader& CSVWriter implements IWriter

但是,再次,能够将XML相关类保持在一起会更酷。

简单的答案可以是一个简单的问题,但我想知道我们是否能提出更优雅的解决方案。

提前致谢

1 个答案:

答案 0 :(得分:2)

你的设计很好。如果要将类组合在一起,请使用包。例如,创建包:com.mycompany.xmlcom.mycompany.csv。然后将CsvReaderCsvWriter添加到com.mycompany.csv,将XmlReaderXmlWriter添加到com.mycompany.xml