Простой вопрос: должен ли репозиторий проверять объект перед его сохранением? Validate = проверить, соответствуют ли все значения правилам (например, имя < 50 символов и т. Д.).DDD: Должен ли репозиторий проверять объект перед его сохранением?
3
A
ответ
8
В DDD каждый Агрегат должен нести ответственность за его действие. В недопустимом состоянии никогда не должно быть объекта. т.е. каждый Агрегат должен отклонить любую мутацию, которая приведет к недействительному состоянию.
Цитирование из большой статьи на эту тему, Validation in a DDD World, Джим BOGARD:
Проще говоря, если мы контролируем операцию сторону уравнения, почему в мире мы не позволим нашим компаниям попасть в недопустимое состояние? Жизнь становится намного сложнее, если мы начнем иметь свойства «IsValid» на наших сущностях.
Смежные вопросы
- 1. DDD: нормально ли вводить репозиторий в объект?
- 2. Могу ли я запросить измененный объект перед сохранением его изменений?
- 3. Нужно ли проверять объект nil перед его распределением?
- 4. Практика DDD: Должен ли я создать репозиторий для объектов значений
- 5. DDD репозиторий и сущность
- 6. DDD/репозиторий
- 7. Вручную проверять данные перед сохранением в базе данных SQL
- 8. DDD: репозиторий контракт
- 9. DDD, репозиторий и инкапсуляция
- 10. Должен ли репозиторий реализовать UnitOfWork?
- 11. Должен ли я продолжать проверять, существует ли объект XMLHttpRequest?
- 12. Проверять несколько вложенных атрибутов связанных моделей для равенства перед сохранением
- 13. DDD, PHP и репозиторий
- 14. Как изменить имя файла перед его сохранением
- 15. Должен ли я всегда проверять, является ли объект NULL?
- 16. Должен ли я проверять граф коллекции перед использованием foreach?
- 17. Должен ли я проверять состояние сети перед выполнением сетевых операций?
- 18. DDD, внешние данные и репозиторий
- 19. Могу ли я проверить объект перед сохранением изменений?
- 20. DDD. Должен ли я изменить объект внутри репозитория?
- 21. Spring Data, как объединить объект перед сохранением?
- 22. php var_export объект - забыл сериализовать перед сохранением
- 23. Добавить данные в объект ModelForm перед сохранением
- 24. Репозиторий или ServiceAgent в DDD
- 25. Должен ли я шифровать идентификатор идентификатора OpenId перед его сохранением в моей базе данных?
- 26. Должен ли репозиторий отвечать за «сглаживание» домена?
- 27. Проверка перед сохранением Rails
- 28. Является ли объект DDD скрытым в моем объекте Value DDD?
- 29. DDD: Должен ли пользовательский тип быть объектом ценности или сущностью?
- 30. Нужно ли сначала искать объект, чтобы заполнить навигационное свойство другого объекта перед его сохранением?