Пусть инфраструктура обрабатывает эти детали. Если требуется какой-либо вид валидации или бизнес-правила, тогда просто работайте с ними, как с обычными данными, потому что это все, что есть. Разница лишь в том, что вы, вероятно, сохраняете эти данные в другом месте, но это деталь реализации.
Позже вы можете захотеть сохранить эти файлы в базе данных или в системе управления версиями ... все же подробности реализации, которые можно абстрагировать на уровень инфраструктуры.
Обновление: Хорошо, где физически сохранить файл на диске. Если бы это был я, не запомнил бы их в моем коде, потому что кажется, что это может быстро усложниться.
Скажем, вы хотели начать хранить эти файлы в системе управления версиями, теперь вы смешиваете код в одной системе управления версиями с данными в другой в одном и том же месте. Я бы, вероятно, выбрал место, хотя бы немного отделенное от вашего кода:
Две мысли:
Venus.Application
Venus.Domain
Venus.Infra
Venus.Tests
Venus.UI.Web
Venus.Files (or Data)
Или
Venus.Application
Venus.Domain
Venus.Infra
\Files (or Data)
Venus.Tests
Venus.UI.Web
Я сделал что-то вроде загрузки пользовательских XML-файлов, и я сделал , чтобы сохранить файлы в папке, подобной второй, и какое-то время все получалось, но потом я решил, что эти файлы лучше хранить в базе данных как текст, а затем записывать только при необходимости экспорта.