工厂模式或依赖注入以供将来实施

时间:2013-10-22 12:07:09

标签: c# dependency-injection factory-pattern

我需要编写一个程序来读取文本文件中的内容。文本文件的格式可能不同。例如,格式A的第一列宽度可以是20个字符,格式B的宽度可以是40个字符。文本文件的第一行包含格式类型。将来可能会有不同列宽的新格式。我正在考虑使用工厂模式,但我不确定使用DI是否可以使它更容易。在这种情况下推荐的最佳设计/架构是什么?代码可能具有以下接口:

public interface IFormat
{
    int columnAWidth{ get; }
}

public interface IFormatFactory
{
    IFormat GetFormat(string formatType);
}

1 个答案:

答案 0 :(得分:1)

依赖注入与Factory模式或任何模式不相互排斥。您应始终致力于减少代码中的耦合,以实现最大的可重用性。

要回答您的问题,听起来工厂方法模式可以满足您的需求。甚至可以从xml配置文件中读取您的具体类定义。