Итак, я довольно новичок в DDD и пытаюсь создать масштабируемую и гибкую систему для моего текущего работодателя (Агентство недвижимости), которая поможет нам ускорить внутренние процедуры компании.
Как уже говорилось, мынаходимся в сфере недвижимости.Я пытаюсь определить наш UL, и у меня возникают проблемы с концептуализацией некоторых сложных объектов.
Например: в сфере недвижимости «Консультант по недвижимости» посетит дом потенциального «Клиента» и предоставит «Оценку» его'Имущество'.При перечислении эта «Оценка» становится «Листингом», который также может стать «Проданным имуществом» или «Изъятым имуществом».Существует так много разных состояний, в которых может быть «собственность».Должен ли я определять «Свойство» как сущность или каждое отдельное состояние (Оценка, Распечатка, Продано, Снято) должно быть определено как отдельная сущность?
Хотя проблема становится более сложной, когда мы добавляем «Клиенты»'в смесь.Клиент может быть «Владельцем недвижимости», «Покупателем», «Покупателем», «Теннантом», «Инвестором», «Застройщиком» и многими другими.Кроме того, клиент может быть комбинацией более чем одного из них!Опять же, должен ли «Клиент» быть сущностью, и все эти состояния должны быть представлены просто как свойства сущности «Клиента» или они должны быть отдельными сущностями?
Кроме того, как насчет отношений «Клиента»?юридические лица в собственностьЭто отношения многие ко многим, и я не вижу простого способа их объединить.DDD, похоже, заявляет, что сущность должна быть уникальной в своем существовании, следовательно, это означает, что у меня не может быть сущности «Свойство» со списком присоединенных сущностей «Клиент», не заставляя мою сущность «Клиент» вести себя как ВО.И наоборот, при рассмотрении сущностей «Клиент» со списком связанных с ними сущностей «Недвижимость».
Последние 2 недели я читал по этой теме 8 часов в день.Это очень запутанно, и мне еще предстоит распутать беспорядок.Любая помощь и указатели в правильном направлении будут с благодарностью!