В DDD Value Object определяется значениями, а не уникальной бизнес-идентичностью. Два объекта с одинаковыми значимыми атрибутами считаются равными.
А Value Object, соответственно, имеет уникальный идентификатор или нет?
В DDD Value Object определяется значениями, а не уникальной бизнес-идентичностью. Два объекта с одинаковыми значимыми атрибутами считаются равными.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В DDD Value Object определяется значениями, а не уникальной бизнес-идентичностью. Два объекта с одинаковыми значимыми атрибутами считаются равными.
Например, денежная сумма состоит из величины и валюты: две одинаковые суммы не требуется различать как две отдельные сущности. Value Object обычно делают неизменяемым и заменяют целиком при изменении значения. Технический ключ для хранения в БД возможен, но не должен становиться его доменной идентичностью. Если важно отслеживать один объект во времени независимо от изменения свойств, скорее всего, это Entity, а не Value Object.