我有一个应用程序需要一些输入并生成配置文件作为输出。由于确切的输入或输出格式可能随时间而改变,因此我定义了两个接口:导入器和导出器。用于在Java中初始化子类参数的首选方法?
每个具体的进口商或出口商都可能有不同的参数需要初始化才能正常工作。例如,如果导入数据来自CSV文件,您只需要文件的路径,但是如果数据来自数据库,则需要连接字符串,用户名,密码等。出口商也是如此。
我的实现目前是:
public interface Importer {
public void setup(Map<String,String> params);
public List<ConfigEntry> getList();
}
public interface Exporter {
public void setup(Map<String,String> params);
public void writeDocument(List<ConfigEntry> entries) throws IOException;
}
的设置方法需要的GetList()或writeDocument(之前被称为)可以被调用。我使用Map来保存参数,因为每个子类都可以有不同的参数。
是用JavaBean风格参数初始化的一种首选方式吗?这意味着,将setConnnectionString(),setCSVFilePath(),setX()添加到每个子类。
这些方法的优点和缺点是什么?
如通过@Stephen C和@ ChssPly76时下所提到的,使用依赖注入框架是“首选”的解决方案。 – 2009-08-27 23:40:09