В настоящее время я работаю над приложением Аренда недвижимости (PHP) и пытаюсь разобраться с DDD ...
При обнаружении ограниченного контекста «Период аренды» (BC) и «Биллинг» BC я заметил, что оба BC имеют совокупный корень «Арендатор» (AG). Но значение «Арендатора», кажется, различается в каждом BC.
В BC «Период аренды» действует бизнес-правило, согласно которому все арендаторы должны быть не моложе 18 лет. Таким образом, Tenant AG должен иметь «TenantId», «TenantName» и «DateOfBirth».
В контексте выставления счетов важны такие вещи, как TenantID, TenantName и BillingAddress, но не возраст арендаторов.
Ни один из этих двух BC не имеет 100% всех данных арендатора.
Итак, мой вопрос, означает ли это, что должен существовать отдельный BC (TenantManagement), которому принадлежит 100% данных арендаторов, и что арендаторы в двух других BC будут иметь только подмножество этих данных, которое следует рассматривать как только для чтения?