UML类图中的钻石标志是什么意思? [英] What does a diamond sign signify in UML class diagrams?
问题描述
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:
- Ezra, Aviad (May 28, 2009) "UML Class Diagram: Association, Aggregation and Composition"
这篇关于UML类图中的钻石标志是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!