Consider the below two diagrams. The top one contains a plain arrow at the right end, and the bottom one contains an arrow with a diamond at the left end and a plain arrow at the right end. The great book GoF has usages of both of these two kinds of diagrams.
I want to understand what does the diamond signify in the second case, and which one of these two gives a stronger association between Customer
and Order
.
Is the Customer
class responsible for the lifecycle of Order
class in either of the two cases?
If there is no diamond, then we have a simple association.
If the diamond is left empty, it signifies it is an aggregation. This relation is stronger than a simple association. In this case a Customer aggregates Orders.
If the diamond is black, this means it is a composition, which is even stronger than an aggregation because the aggregated class cannot be aggregated by other classes. Its "life" depends on the container.
I think it's explained a little bit more clearly, at: