Я делаю что-то похожее в проекте и не вижу проблемы в вашем подходе (и не обязательно верю, что это противоречит взглядам других, которые разместили ответы).
Если у меня есть один агрегатный корень (учитель), который как часть его агрегата ссылается на другой агрегат (курс), я думаю, что подход действителен по следующим причинам:
- Каждый репозиторий по-прежнему отвечает за операции CRUD своего собственного совокупного корня
- Все еще возможно создавать экземпляры каждого Агрегата через API каждого репозитория.
- Репозиторий Учителя по-прежнему несет одну ответственность (за создание совокупности Учителей). Просто бывает, что вы не можете создать Учителя без Учителя, содержащего ссылку на преподаваемые курсы.
Я не вижу здесь проблемы, хотя могу лучше понять, как разворачивается проект, над которым я работаю !!.
JLove