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

本文关键字:将来 实现 注入 模式 依赖 工厂 | 更新日期: 2023-09-27 18:36:33

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

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

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

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

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