工厂方法放在哪里?

时间:2019-06-29 11:00:40

标签: c# factory

我正在实现工厂模式以支持使用2个不同的报告库(Crystal Reports和DevExpress)生成报告。

因此,我创建了一个Default类库项目,并为其添加了一个IReport接口。然后,我再创建2个类库项目,每个项目都有一个实现IReport.

的类。

此外,在我的Default项目中,我还添加了“ Factory”类:

public sealed class ReportFactory : IReportFactory
{
    public IReport Get(string extension)
    {
        switch (extension.ToLower())
        {
            case "rpt":
                //TODO create crystal report instance
                break;

            case "rpx":
                //TODO create devexpress report instance
                break;

            default:
                throw new ArgumentNullException(nameof(extension));
        }
    }
}

我的主应用程序仅引用了Default项目。我的问题是:

我在哪里需要工厂类,这样我就可以创建具体的类,而不必在主项目中添加不必要的引用?

0 个答案:

没有答案