某些设计模式中的聚合与关联

时间:2017-03-19 20:13:42

标签: design-patterns associations aggregation

在一些设计模式的类图中,比如decorator模式,我看到了一个聚合(在decorator-component之间),但是在代码中,有一个集合,有一个声明为接口类型的变量。

为什么它是聚合而不是关联? 非常感谢你

1 个答案:

答案 0 :(得分:0)

聚合只是一种关联形式。它通常被定义为一个整体关系,这导致了聚合是一对多关系的假设,这不一定是真的。任何关联或依赖关系都可以是一对多关系,但也可以是一对一关系。聚合也不例外。

与聚合的区别更通俗,因为许多人假设它意味着一对多,你可以选择以这种方式使用它;但在一对一聚合中没有任何内在错误。

您可以在这些参考文献中看到一些略有不同的观点。