用箭头指向组件表示的复合图案与没有箭头指向的复合图案之间有什么区别?

时间:2018-06-03 09:50:03

标签: design-patterns uml class-diagram composite

我正在设计一个程序,我想利用复合模式。我注意到有两种表达方式: Class diagram of composite pattern with no arrow pointing to the component class

Class diagram of composite pattern with arrow pointing to the component class

两者有什么区别? 谢谢!

2 个答案:

答案 0 :(得分:3)

没有区别,除了零接受复合对象为空,另一个保证复合对象至少有一个部分。

答案 1 :(得分:3)

正如@alper已经说明两种符号之间没有真正的区别。

顶部允许向两个方向导航(因此Component可以看到Composite,即parent),而较低的一个没有此导航功能。为了使丢失的parent关系更加明显,作者添加了箭头。

因此,最重要的是复合模式的更通用的实现。