聚合:死后的生命还是没有?

Die*_*ego 2 java design-patterns aggregation

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

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

根据我在这里读到的这篇和其他文章,特许是聚合是一个物体拥有另一个物体,然而,一个物体的死亡并不意味着另一物体的死亡.但是,根据GoF的设计模式:

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

有什么建议吗?

谢谢

Pav*_*aev 5

我已经看过两种定义,但已建立的定义似乎是:

  • 组成意味着共享的生命
  • 聚合意味着没有共享生命

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

  • 它们不能"正确"或"错误",因为这些术语随着时间的推移而改变了它们的含义.GoF书最初发表于1994年.UML于1997年被标准化. (3认同)