Різниця між агрегацією та композицією в UML
Ключова різниця між агрегацією та композицією
- Агрегація — це один із типів асоціації між двома об’єктами, що описує відношення «є», тоді як композиція — це окремий тип агрегації, який передбачає право власності.
- Агрегація позначається прямою лінією з пустою стрілкою на одному кінці. З іншого боку, композиція позначається за допомогою прямої лінії із зафарбованим наконечником стрілки на будь-якому з кінців.
- У зв’язку агрегації об’єкти, пов’язані один з одним, можуть залишатися в системі один без одного. Але у зв’язках композиції об’єкти, пов’язані один з одним, не можуть залишатися в області один без одного.
- У агрегації зв’язані об’єкти не залежать від інших об’єктів, тоді як у композиції об’єкти сильно залежать один від одного.
- У агрегації видалення одного елемента не впливає на інший пов’язаний елемент. Навпаки, у композиції видалення одного елемента впливає на інший пов’язаний елемент.
- Агрегація позначається заповненим ромбом, тоді як порожній ромб позначає склад.
Що таке агрегація?
Агрегація — це окремий випадок асоціації, коли об’єкт «має» інший об’єкт, між якими ви можете мати агрегацію. Напрямок між ними допомагає визначити, який об’єкт містить інший об’єкт. Агрегація також відома як зв’язок «має». Це підтип зв’язку асоціації в UML-.
Що таке композиція?
Композиція — це окремий випадок агрегації, який допомагає вам визначити зв’язок цілої частини між класом композиції та підлеглим класом (частиною).
Різниця між агрегацією та композицією в UML
Ось основна відмінність між агрегацією та композицією:
агрегування | Склад: |
---|---|
Агрегація — це один із типів асоціації між двома об’єктами, який також описує зв’язок «є». | Композиція - це особливий тип агрегації, який передбачає право власності. |
Агрегація позначається прямою лінією з пустою стрілкою на одному кінці. | Композиція позначається за допомогою прямої лінії із зафарбованою стрілкою на будь-якому з кінців. |
Агрегація є частиною зв’язку асоціації. | Композиція є частиною зв’язку асоціації. |
Агрегація розглядається як слабкий тип асоціації. | Композиція вважається сильним типом асоціації. |
У зв’язку агрегації об’єкти, пов’язані один з одним, можуть залишатися в системі один без одного. | У зв’язках композиції об’єкти, пов’язані один з одним, не можуть залишатися в області один без одного. |
У агрегації пов’язані об’єкти не залежать від інших об’єктів. | За композицією об’єкти сильно залежать один від одного. |
У агрегації видалення одного елемента не впливає на інший пов’язаний елемент. | У композиції видалення одного елемента впливає на інший пов’язаний елемент. |
Приклад: для автомобіля потрібне колесо, але воно не завжди потрібне. Автомобіль може нормально працювати і з іншим колесом. | Приклад: файл розміщено всередині папки. Якщо видалити папку, файл, пов’язаний із цією папкою, також буде видалено. |
В Aggregation, parent відносини з дочірньою сутністю. |
За складом батьківська сутність володіє дочірньою сутністю. |
Позначається заповненим ромбом | Позначається порожнім ромбом |
У дитини немає життя. | Дитина може мати все життя. |
Він представлений порожнистим ромбом поруч із класом збірки. | Він представлений суцільним ромбом поруч із класом збірки. |
Видалення збірки ніколи не впливає на її частини. | У разі володіння класом об'єкт видаляється. Це також впливає на об'єкт класу, що містить. |
Агрегація проти композиції: ключові статистичні дані
агрегування | Склад: | |
---|---|---|
власник | Без власника | Одномісний власник |
Тривалість Життя | Мають своє життя. | Тривалість життя власника. |
Дочірній об'єкт | Усі дочірні об’єкти незалежні. | Дочірні об’єкти належать одному з батьків. |
Приклад композиції
Папка може містити багато файлів, а кожен файл має лише одну батьківську папку. Якщо папку видалено, усі файли, що містяться, також видаляються. У складеному об’єднанні об’єкт може бути частиною лише одного композиту одночасно.
Приклад агрегації
Наприклад, ваш автомобіль складається з коліс, двигуна, коробки передач, рульового керування, основного кузова тощо. Це вузол, а інші частини є його складовими.
Тут машина до керма – це одна агрегатна установка, машина до двигуна – інша агрегатна, машина до коробки передач – інша, і так далі.
Цей тип парування допомагає визначити множинність складової частини всередині збірки як її результат. Також можна зобразити кількість предметів.
Автомобілю для правильної роботи потрібне колесо. Однак цього не можна сказати про автомобіль. Таку ж логіку можна застосувати до велосипеда, велосипеда чи будь-якого іншого транспортного засобу, але не до конкретного автомобіля.
Тут об’єкт колесо має значення навіть без об’єкта автомобіля. Це відоме як зв’язок агрегації.