From a post I read it seems that Entity is just a subset of Aggregate. I've read about the two patterns in both Domain-Driven Design and Implementing Domain-Driven Design, and I'm trying to understand the UML difference between them.
Let's consider a simple class. It's a Letter holding a message, a receiver, and possibly the sender.
I guess this Letter class would be considered an Entity?
Now let's say we want to expand our parcel business to be able to send also Packages, then it could look like the following.
Since all the Items in the Package will be lost if the whole Package is lost, we use a UML Composition relation (a filled diamond). We also want to preserve the Package's consistency by prohibiting Items from being changed or removed from outside the Package. The description of Aggregate reads
The aggregate root guarantees the consistency of changes being made within the aggregate by forbidding external objects from holding references to its members.
We therefore make sure the Composition relation is hidden, and with preserved invariants, within the Aggregate.
My question is:
Can we say that the UML difference between Entity and Aggregate is that Entity does not contain any Composition relation whereas Aggregate contains at least one Composition relation?