DDD – Managing Relationships between Domain Aggregates

  softwareengineering

To understand DDD better, I am trying to create the Domain Layer of an online class application. I have a concept of a Student, Tutor and Session.

I thought of having one aggregate called Session and they can contain the entities of Student and Tutor.

But I ran into problems with this:

  • The Student and Tutor concepts may have many other related Domain Objects that has nothing to do with the concept of a Session.

  • The client may decide to have courses in which Tutors and Students are assigned, in that case I would need to have the duplicate entities in the Course aggregate.

If I do keep them as separate aggregates, there is a relationship between entities across aggregates, which should not happen.

How can I design this part of the Domain Layer?

New contributor

Mush-A is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

LEAVE A COMMENT