Мы строим портал недвижимости. У нас есть Сервисы, Mappers и Entites. На этапе мы разрешаем пользователям либоПроверка объекта DDD
- Создать собственность через форму.
- Загрузите пакетный файл, содержащий 1 или более свойств.
Поэтому, если он создает свойство через форму, мы можем проверить форму и, если ее действительное свойство, мы можем добавить ее в нашу систему. Но если он загрузить через пакетный файл, мы считаем, что ответственность формы
- для подтверждения того, что пользователь предоставил файл
- типа файла действителен
- и размер файла находится в пределах допустимые пределы.
После этого он должен передать файл в контроллер или службу.
Теперь отложенные задачи
- Обработать файл и извлечь содержимое
- проверить содержимое
- Если подтверждено, сохранить свойства или выводится сообщение об ошибке.
Итак, какая часть (-ы) отвечает за вышеуказанные задачи?
Я думаю, что контроллер должен выполнить начальную обработку файла и передать данные службе. Это означает, что мы создадим/извлечем объект формы в контроллере и проверим форму внутри контроллера.
Теперь следующий раздел предназначен для проверки содержимого, которое на самом деле является совокупностью объектов. Поэтому у нас есть следующие идеи для этого этапа
- Служба проверит данные и создаст объекты, они сохранят их.
- Или служба создаст объект с предоставленными данными, а затем вызовет функцию проверки сущности.
- Или служба попытается создать объект с предоставленными данными (передавать данные в конструктор объекта), а также, если данные верны, будет создан объект или будет генерировать ошибку и т.д.
возможные вопросы, которые я могу думать о вышеуказанных подходах
- Если служба проверки достоверности данных, это означает, что служба будет знать внутреннюю структуру объекта, так что, если по дороге нам необходимо обновить структуру лица , мы также должны обновить сервис. Что представит какую-то зависимость.
- Во втором подходе я не думаю, что объект должен быть создан на первом месте, если он недействителен.
- В третьем подходе мы создаем функциональность внутри конструктора сущности, что делает сущность зависимой от данных.Поэтому, когда нам нужно получить сущность от постоянной, нам необходимо предоставить некоторые данные о заглушке.
Или я передумал ???