2

我一直在阅读几篇关于堆栈溢出的文章,内容是关于聚合以及它与委托和组合的比较。主要是:

区分委托、组合和聚合(java OO 设计)

根据我在这里阅读的这篇文章和其他文章,让步是聚合是一个对象拥有另一个对象,但是,一个对象的死亡并不意味着另一个对象的死亡。但是,根据 GoF 的设计模式:

“聚合意味着聚合对象及其所有者具有相同的生命周期” [底部第 22 页]

对此有何建议?

谢谢

4

1 回答 1

5

我见过这两种定义,但既定的定义似乎是:

  • 组合意味着共享生命周期
  • 聚合意味着没有共享生命周期

IIRC,这就是 UML 中使用的含义。

于 2009-10-01T23:34:27.143 回答