Композиция и агрегация связаны с каскадным удалением.
Есть ли у дочерних объектов собственная жизнь за пределами родительской? Если да, вам нужно агрегирование.
Если родитель удален, нужно ли удалять и детей? Если да, вам нужна композиция.
Итак, допустим, у вас есть модель, в которой есть класс School, класс Building и класс Student. Школа имеет отношения «один ко многим» со зданием и отношения «один ко многим» со студентом.
Отношения между школой и зданием - пример композиции. Если вы закроете Школу, вы можете решить разрушить здания.
Отношения между школой - это агрегация. Если вы закроете школу, вы наверняка не решите убить всех учеников.
Вы можете прочитать, что об этом говорит дядя Боб Мартин здесь .