Я хочу знать, как проверить, находится ли объект домена в правильном состоянии, сохраняя его. Если объект имеет постоянную информацию - это понятно, так как я могу проверить сумму заказа в методе сохранения. Однако у постоянных неосведомленных объектов метод сохранения отсутствует. У них просто есть данные и поведение. Должен ли я полагаться на точность разработчиков или мне нужно как-то проверять все сущности-диаграммы, прежде чем сохранять их в базе данных?Проверка постоянных неосведомленных объектов домена
ответ
Возможно, я не понимаю вас правильно.
Я не уверен, как вы получаете «неосведомленный» объект. Это, похоже, противоречит основному принципу инкапсуляции. Единственный способ изменить состояние объекта должен быть через интерфейс. Обязанность интерфейса гарантировать, что все обновления состояния действительны. Итак, к вашему примеру, вам не нужно проверять сумму в операции save()
(при условии, что здесь «сохранить» означает «сохранить»). Он должен быть обновлен в результате, например, звоните addProduct()
(или что-то подобное - т. е. добавляя товар для заказа количества обновлений).
Является ли объект постоянным или временным не имеет значения - он должен всегда инкапсулировать обновление состояния через свой интерфейс.
Надеюсь, что это поможет - извини, если я неправильно понял.
- 1. Grails - Hibernate/Проверка списка объектов домена
- 2. Какова цель постоянных объектов?
- 3. Реализовать список постоянных объектов
- 4. DDD-разделение объектов домена и объектов EF
- 5. Проверка домена
- 6. Извлечение списка постоянных свойств GORM для домена
- 7. Confused о постоянных объектов C++
- 8. java hibernate несколько постоянных объектов?
- 9. Проверка объектов домена и отображение результатов проверки на представлении
- 10. tomcat cookie проверка домена
- 11. Проверка подлинности конкретного домена
- 12. Проверка домена (Whois)?
- 13. Проверка в классе домена
- 14. Проверка обратного IP-домена?
- 15. Проверка домена электронной почты
- 16. Правильный способ защиты объектов домена?
- 17. Менеджер объектов домена?
- 18. Заполнение объектов домена корректно?
- 19. Scala - Моделирование объектов домена
- 20. Свойства представления объектов домена
- 21. Использование постоянных объектов в Objective-C
- 22. Объявление постоянных объектов JPA в applicationContext.xml?
- 23. Как использовать хранилище постоянных объектов в Blackberry?
- 24. Дизайн для постоянных объектов с развязанным хранилищем
- 25. Создание постоянных объектов в C# EF CodeFirst?
- 26. проверка объектов
- 27. Проверка объекта домена на постоянство
- 28. Проверка наличия домена на сервере
- 29. Проверка доменного имени домена PHP
- 30. Как работает проверка домена DNS?
Благодарим за ответ. Постоянным невежественным я имею в виду, что объект ничего не знает о базе данных (нет метода сохранения, репозитории не отображаются в его методах поведения). Таким образом, поведение объекта - это только изменение состояния в памяти и ничего больше. Хм, вы написали, что изменение состояния объекта происходит только в методах поведения, означает ли это, что мне нужно, чтобы все свойства читались только для строгого ограничения модификаций объекта вне объекта. Хм, такая логика может вызвать множество методов в объекте. :) – Danil
ОК, теперь я понимаю «постоянный невежественный». Имеет смысл и соответствует руководству DDD. Однако свойства не обязательно должны быть доступны для чтения. Но аксессуар записи должен гарантировать, что любой запрос на обновление состояния будет действительным. Угадаю, вы используете C# (поскольку q - это тегированная структура сущности). В этом случае вам просто нужно добавить логику проверки в аксессоры свойств 'set'. Это не значит добавить много новых методов (если, опять же, я не понимаю). НТН. – sfinnie
Хорошо, спасибо, спасибо. Я не могу использовать сеттеры для проверки, поскольку он генерируется генератором EF POCO. В этом случае я могу сделать требуемые свойства (свойства, которые могут повредить целостность объектов) только для чтения и изменить их с помощью методов поведения. Хорошо, спасибо, вот ваши вопросы :). – Danil