Агрегация: жизнь после смерти или нет?

Я читал пару статей о переполнении стека об агрегации и ее сравнении с делегированием и композицией. В основном:

Согласно этой и другим статьям, которые я читал здесь, уступка заключается в том, что агрегирование заключается в том, что один объект владеет другим, однако смерть одного не означает смерть другого. Однако, согласно шаблонам проектирования GoF:

«Агрегация подразумевает, что совокупный объект и его владелец имеют одинаковое время жизни» [стр. 22 внизу]

Есть какие-нибудь советы по этому поводу?

Спасибо


person Diego    schedule 01.10.2009    source источник


Ответы (1)


Я встречал оба вида определений, но, похоже, уже установлены следующие:

  • композиция подразумевает общее время жизни
  • агрегирование подразумевает отсутствие общего времени жизни

IIRC, это значение, используемое в UML.

person Pavel Minaev    schedule 01.10.2009
comment
Они не могут быть правильными или неправильными, потому что термины со временем меняли свое значение. Книга GoF была первоначально опубликована в 1994 году. UML был стандартизирован в 1997 году. - person Pavel Minaev; 02.10.2009