copal
@copal
𝄞 ...оооо baby

Чем агрегация отличается от композиции?

Знаю, что слово агрегация хорошо знакомо людям пишущим на c# и предполагаю, что они знакомы с typescript. По этому если не затруднит, объясните на примере typescript что такое агрегация и покажите чем она от композиции отличается.
  • Вопрос задан
  • 2340 просмотров
Решения вопроса 1
halogen
@halogen
Java developer
Не имеет значения, на каком языке сравнивать агрегацию и композицию. Две концепции являются отношением has-a, то есть технически реализуются одинаково: например, класс или отдельный экземпляр класса (если у прототипа объекта нет такого свойства) ссылаются с помощью полей на экземпляры другого класса (хотя и не обязательно другого). Отличие состоит в том, что в случае композиции один класс сильнее зависит от другого явно заданного класса и, по большому счёту, не может без него существовать.

Вот пара ссылок:

* sergeyteplyakov.blogspot.com/2012/12/vs-vs.html
* programmers.stackexchange.com/questions/61376/aggr...

Также обратите внимание на то, что в случае композиции, класс/объект сам определяет связи и время жизни этих связей -- то есть, полностью владеет им.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы