Outside code talks only to the aggregate root. Other aggregates are referenced by ID, and one transaction changes one aggregate.
Aggregate
A cluster of objects changed as one unit, with a root that enforces its rules.
Outside code talks only to the aggregate root. Other aggregates are referenced by ID, and one transaction changes one aggregate.