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

java - 定义设计模式中关系的黑色和白色箭头-LMLPHP

这两个彩色箭头之间有什么区别?

最佳答案

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

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

07-26 07:30