Entity

Ein Entity ist nicht durch seine Attribute sondern durch eine Identität definiert. Ein Entity hat einen Lifecycle: die Attribute können sich ändern, die ID nicht. Als Attribute können ValueObjects verwendet werden.

Aggregate

Ein Entity kann zusammen mit mehreren ValueObjects oder mehrere Entities können zu einem Aggregate zusammengefasst werden. Zum Beispiel können das Entity Kunde ein Entity Adresse enthalten. Dann ist der Kunde gleichzeitig auch der Root vom Aggregate.
In einem Aggregate können Invarianten festgelegt werden. Zum Beispiel darf es keine Bestellung ohne Besellpositionen geben. dann wäre die gesamte Bestellung ungültig.