【发布时间】:2010-11-10 03:37:18
【问题描述】:
我有一个我觉得需要重构的工厂类,举个例子:
public class FileFactory
{
public static FileType Create(string fileName)
{
if(IsImageFile(fileName))
{
return new ImageFileType();
}
else if(IsDocumentFile(fileName))
{
return new DocumentFileType();
}
...
}
private static bool IsImageFile(string fileName)
{
string imageFileTypes[] = string[] {".jpg", ".gif", ".png"}; //How to avoid this line of code?
return imageFileTypes.Contains(fileName);
}
}
我松散地遵循域驱动设计原则,因此这个 FileFactory 类是一个域对象。工厂类是否应该访问存储库/数据库以获取文件类型?
在这种情况下我应该如何处理依赖关系?
【问题讨论】:
标签: domain-driven-design factory factory-pattern