Агрегация : объект существует вне другого, создается снаружи, поэтому он передается в качестве аргумента (например) строителю. Пример: люди - машина. Автомобиль создается в другом контексте, а затем становится личностью.
Композиция : объект существует или имеет смысл только внутри другого, как часть другого. Пример: люди - сердце. Вы не создаете сердце, а затем передаете его человеку.
Означает ли это, что для платформ DI агрегирование является предпочтительным и более распространенным подходом и улучшает тестируемость?
Означает ли это также, что отсутствие множественного наследования в языке, подобном C #, можно смягчить с помощью агрегации. Я всегда слышал обсуждение, сформулированное в терминах « композиция против наследования». Есть ли причина для этого?