В моей программе (консольном приложении, которое редактирует и вменяет данные) я предоставляю пользователю возможность предоставить словарь данных несколькими способами: текстовые файлы с разделителями-табуляциями, Excel или в базе данных. Словарь состоит из нескольких (12-15) файлов/листов/таблиц. Я пытаюсь найти хороший способ загрузить данные из разных источников в базу данных.Проверка данных из файла в .NET
Моим решением до сих пор было использование репозитория для изоляции различных источников данных, и эти репозитории выплевывают DTO, которые я сопоставляю с моей моделью домена. Я использую шаблон Builder для управления всей последовательностью событий.
В основном последовательность событий для каждого файла/листа/таблицы:
- Получить DTOs из хранилища
- Validate информация в DTOS
- Тогда
- Если данные хорошие, сопоставьте объект домена
- еще сохранить список ошибок.
Мой вопрос заключается в следующем: Я пытаюсь выяснить, где лучшее место, чтобы проверить информацию, содержащуюся в DTOS? Одним из возможных решений было добавление интерфейса на DTO, например,
public interface IValidate
{
void Validate();
bool HasErrors { get; }
IEnumerable<string> GetErrorMessages();
}
Это слишком тяжело для DTO? Должна ли проверка произойти где-то еще? Извините, если это немного субъективно.
Что такое DTO? (ссылка в порядке) –
Я думаю, что «объект передачи данных» из PoEAA Мартина Фаулера;) – TheVillageIdiot
Да, он находится здесь: http://martinfowler.com/eaaCatalog/dataTransferObject.html – TheVillageIdiot