Я только начал изучать предметно-ориентированное проектирование, и одна из немногих вещей, которые меня больше всего смущают, - это как определить, какой из них должен быть сущностью, а какой - объектом значения
Я знаю, что для определения объекта сущности / значения нам нужно опираться на контекст домена, в одном контексте один объект домена может быть сущностью, в другом - объектом значения, но все же есть некоторые ситуации, в которых я могу ' т решить
.e.g. адрес
- В контексте приложения для управления клиентами (скажем, приложения для управления клиентами, добавления / удаления / изменения статуса и т. Д. Клиентов) адрес является явно ценным объектом, поскольку здесь нам не нужно различать один адрес от другого 2 клиента могут иметь один и тот же адрес
- С другой стороны, могу ли я сказать, что в контексте приложения для онлайн-бронирования адрес является юридическим лицом? потому что теперь нам нужно дифференцировать клиентов по их платежному адресу (просто игнорируем случай 2 клиентов, имеющих один и тот же адрес)
Для меня адрес сам по себе уникален, поэтому он определенно уже имеет идентичность. Таким образом, идентичность доменного объекта не будет определять, является ли он сущностью или ценным объектом, и если да, то какие ключевые факторы будут выбраны?
Другой пример. У меня есть одно приложение, в котором перечислено несколько областей в одной стране, пользователь может выбрать одну область и найти все рестораны, которые соответствуют критериям поиска в этой области. В этом случае является ли область ценным объектом или сущностью? В настоящее время я думаю, что это больше о сущности, но все еще не очень уверен. Каждая область уникальна и
Я не уверен, ясен ли мой вопрос или нет, я изо всех сил стараюсь объяснить свое мышление в настоящее время