在设计模式中定义关系的黑色与白色箭头

black vs white arrows in defining relationships in design patterns

我正在查看有关不同设计模式的指南。目前,我正在审查复合设计模式。作者提供了一个图表来定义不同组件之间的关系。当我查看图形时,我注意到图形(大概是接口或抽象 Class)具有用黑色和白色箭头标记的关系。 Triangle 和 Rectangle class 通过白色箭头与 Figure 相关,Document 和 Group class 通过黑色箭头相关。这是一个视觉表示:

这两种颜色编码的箭头有什么区别?

白色箭头表示存在"is a"关系。所以三角形是一个图形。矩形和组也是如此。 在 java 中,这意味着 Figure 由 Rectangle、Triangle 和 Group 扩展或实现。

黑色箭头表示存在组合关系。所以一个文档可能包含一个或多个图形。同样,一个组可能包含零个或多个数字。