У меня есть фабричный класс, который, как мне кажется, нужно пересмотреть, возьмем следующий пример:
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 является объектом домена. Должен ли фабричный класс обращаться к хранилищу / БД для получения типов файлов?
Как мне справиться с зависимостью в этом сценарии?