Объекты и объекты значения являются объектами домена. Какая польза от знания различия между ними в DDD? Например, думает ли о объектах домена как объект объекта или ценности, способствующий более чистой модели домена?DDD: в чем разница между объектами и объектами ценности?
ответ
Да, это очень полезно, чтобы быть в состоянии сказать разницу, особенно когда вы разрабатываете и внедряете свои типы.
Одним из основных отличий является то, что дело касается равенства, поскольку сущности должны иметь совершенно другое поведение, чем объекты Value. Знание того, является ли ваш объект объектом или объектом Value, указывает, как вы должны реализовать равенство для типа. Это полезно само по себе, но это не останавливается на достигнутом.
Объекты являются изменяемыми типами (по крайней мере, по понятию). Вся идея Entity заключается в том, что он представляет собой концепцию домена с известной прогрессией жизни (т. Е. Она создана, она претерпевает несколько преобразований, архивируется и, возможно, в конечном итоге удаляется). Он представляет ту же самую «вещь», даже если месяцы или годы проходят мимо, и это изменяет состояние по пути.
Объекты Value, с другой стороны, просто представляют значения без какого-либо присущего им идентификатора. Хотя вам и не нужно этого делать, они очень хорошо зарекомендовали себя как непреложные типы. Это очень интересно, потому что любой неизменный тип по определению является потокобезопасным. Поскольку мы переходим в многоядерный возраст, знание того, когда реализовать объект как неизменный тип, очень ценно.
Это также помогает в модульном тестировании, когда семантика равенства хорошо известна. В обоих случаях равенство четко определено. Я не знаю, какой язык вы используете, но на многих языках (C#, Java, VB.NET) равенство определяется по умолчанию по умолчанию, что во многих случаях не особенно полезно.
- 1. В чем разница между объектами jquery и объектами javascript?
- 2. В чем разница между объектами, бизнес-объектами, объектами передачи данных и объектами бизнес-модели?
- 3. Связь между объектами в DDD
- 4. Разница между взаимозаменяемыми объектами и неизменяемыми объектами
- 5. DDD предлагает отношение между объектами
- 6. Разница между объектами и Runnable
- 7. jvisualvm разница между живыми объектами и выделенными объектами
- 8. Разница между объектами ссылочного типа JavaScript и обычными объектами
- 9. Разница между ls() и объектами() в R
- 10. DDD как обращаться с объектами ценности без репозитория
- 11. В чем разница между ссылками и объектами в java?
- 12. В чем разница между объектом и объектами в java
- 13. В чем разница между объектами и классами в C#?
- 14. В чем разница между субдоками и вложенными объектами в Mongoose?
- 15. В чем разница между агентами и объектами в netlogo?
- 16. В чем разница между объектами HashMap и Map в Java?
- 17. Разница между объектами в массиве
- 18. Разница между двумя объектами времени
- 19. DDD как сохранить отношения между объектами?
- 20. В чем разница между объектами «WSH» и «WScript»?
- 21. В чем разница между постоянными объектами и linq-to-sql?
- 22. В чем разница между объектами «XML» и «XML-Schema»?
- 23. В чем разница между объектами UTF-8 и HTML?
- 24. В чем разница между HTML-тегами и объектами HTML?
- 25. В чем разница между объектами домена, POCOs и сущностями?
- 26. разница Three.js между «объектами» и «элементы»
- 27. Разница между объектами и классом Entity?
- 28. Разница между объектами и статическими методами
- 29. В чем разница между отдельными объектами и истекшими объектами в SQLAlchemy?
- 30. Обмен объектами между объектами