Я пишу интерфейс класса, который должен возвращать ссылки на двоичные файлы. Обычно я предоставляю ссылку на файл как путь к файлу. Однако я рассматриваю возможность хранения некоторых файлов (например, небольшого эскиза) в базе данных напрямую, а не в файловой системе. В этом случае я не хочу добавлять дополнительный шаг чтения миниатюры из базы данных на диск и затем возвращать путь к файлу для моей программы для чтения. Я хотел бы передать изображение непосредственно из базы данных в мою программу и избегать записи чего-либо на диск, если пользователь явно не хочет что-то сохранить.
Имеет ли смысл иметь мой интерфейс, возвращающий FileStream
или даже Image
? Затем класс реализации должен определить, является ли источником FileStream
или Image
файл на диске или двоичные данные в базе данных.
public interface MyInterface
{
string Thumbnail {get;}
string Attachment {get;}
}
против
public interface MyInterface
{
Image Thumbnail {get;}
FileStream Attachment {get;}
}