Value Object сравнивают по значимым значениям, а не по идентификатору или адресу в памяти. Равные значения должны давать согласованный результат сравнения и хеширования.
А как сравниваются Value Object?
Value Object сравнивают по значимым значениям, а не по идентификатору или адресу в памяти. Равные значения должны давать согласованный результат сравнения и хеширования.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Value Object сравнивают по значимым значениям, а не по идентификатору или адресу в памяти. Равные значения должны давать согласованный результат сравнения и хеширования.
Например, денежная сумма обычно включает число и валюту: 10 USD и 10 EUR не равны. Набор значимых полей определяет доменная модель. Нормализация, например регистра или единиц измерения, должна быть явной. Неизменяемость упрощает использование объекта как ключа и предотвращает изменение равенства после помещения в коллекцию.