我需要编写一个程序来读取文本文件中的内容。文本文件的格式可能不同。例如,格式A的第一列宽度可以是20个字符,格式B的宽度可以是40个字符。文本文件的第一行包含格式类型。将来可能会有不同列宽的新格式。我正在考虑使用工厂模式,但我不确定使用DI是否可以使它更容易。在这种情况下推荐的最佳设计/架构是什么?代码可能具有以下接口:
public interface IFormat
{
int columnAWidth{ get; }
}
public interface IFormatFactory
{
IFormat GetFormat(string formatType);
}
答案 0 :(得分:1)
依赖注入与Factory模式或任何模式不相互排斥。您应始终致力于减少代码中的耦合,以实现最大的可重用性。
要回答您的问题,听起来工厂方法模式可以满足您的需求。甚至可以从xml配置文件中读取您的具体类定义。