Różnica między agregacją a kompozycją w UML

Kluczowa różnica między agregacją a kompozycją

  • Agregacja to jeden z typów powiązań między dwoma obiektami opisujący relację „mieć”, podczas gdy kompozycja to specyficzny typ agregacji, który implikuje własność.
  • Agregację wskazuje się linią prostą z pustym grotem strzałki na jednym końcu. Z drugiej strony skład jest oznaczony linią prostą z wypełnionym grotem strzałki na jednym z końców.
  • W relacji agregacji powiązane ze sobą obiekty mogą pozostawać w zasięgu systemu bez siebie. Jednak w relacji kompozycji obiekty powiązane ze sobą nie mogą pozostać w zasięgu bez siebie.
  • W przypadku agregacji połączone obiekty nie są zależne od drugiego obiektu, podczas gdy w przypadku kompozycji obiekty są w dużym stopniu od siebie zależne.
  • W przypadku agregacji usunięcie pojedynczego elementu nie ma wpływu na inny skojarzony element. I odwrotnie, w kompozycji usunięcie pojedynczego elementu wpływa na inny skojarzony element.
  • Agregacja jest oznaczona wypełnionym rombem, natomiast pusty romb oznacza kompozycję.
Różnica między agregacją a kompozycją
Różnica między agregacją a kompozycją

Co to jest agregacja?

Agregacja to szczególny przypadek skojarzenia, gdy obiekt „ma” inny obiekt, przez co może nastąpić agregacja między nimi. Kierunek między nimi pomaga określić, który obiekt zawiera drugi obiekt. Agregacja jest również nazywana relacją „Has-a”. Jest to podtyp relacji asocjacyjnej w UML.

Co to jest skład?

Kompozycja jest szczególnym przypadkiem agregacji, który pomaga określić relację całości między klasą kompozycji a klasą podrzędną (częścią).

Różnica między agregacją a kompozycją w UML

Oto główna różnica między agregacją a kompozycją:

Zbiór Kompozycja
Agregacja to jeden z typów powiązań między dwoma obiektami, który opisuje także relację „mieć”. Kompozycja jest specyficznym typem agregacji, który implikuje własność.
Agregację wskazuje się linią prostą z pustym grotem strzałki na jednym końcu. Skład jest oznaczony linią prostą z wypełnionym grotem strzałki na jednym z końców.
Agregacja jest częścią relacji asocjacyjnej. Kompozycja jest częścią relacji skojarzeniowej.
Agregację uważa się za słaby rodzaj asocjacji. Kompozycję tę uważa się za silny rodzaj skojarzenia.
W relacji agregacji powiązane ze sobą obiekty mogą pozostawać w zasięgu systemu bez siebie. W relacji kompozycji obiekty powiązane ze sobą nie mogą pozostać w zasięgu bez siebie.
W przypadku agregacji połączone obiekty nie są zależne od drugiego obiektu. W kompozycji obiekty są w dużym stopniu od siebie zależne.
W przypadku agregacji usunięcie pojedynczego elementu nie ma wpływu na inny skojarzony element. W kompozycji usunięcie pojedynczego elementu wpływa na inny skojarzony element.
Przykład: Samochód potrzebuje koła, ale nie zawsze potrzebuje tego samego koła. Samochód może dobrze funkcjonować także z drugim kołem. Przykład: Plik zostaje umieszczony w folderze. Jeśli usunie się folder, plik powiązany z tym folderem również zostanie usunięty.
W Agregacji, rodzic
relacji z podmiotem podrzędnym.
W składzie jednostka dominująca jest właścicielem jednostki podrzędnej.
Jest on oznaczony wypełnionym rombem Jest on oznaczony pustym rombem
Dziecko nie ma życia. Dziecko może mieć całe życie.
Jest ona reprezentowana przez pusty romb znajdujący się obok klasy assembly. Jest ona reprezentowana przez pełny diament znajdujący się obok klasy assembly.
Usunięcie zespołu nigdy nie wpływa na jego części. W przypadku posiadania klasy obiekt zostaje usunięty. Wpływa także na zawierający obiekt klasy.

Agregacja a skład: kluczowe statystyki

Zbiór Kompozycja
Właściciel Brak właściciela Pojedynczy właściciel
Życie Mają swoje życie. Życie właściciela.
Obiekt podrzędny Wszystkie obiekty podrzędne są niezależne. Obiekty podrzędne należą do jednego rodzica.

Przykład kompozycji

Folder może zawierać wiele plików, a każdy plik ma dokładnie jednego folderu nadrzędnego. Jeśli folder zostanie usunięty, wszystkie zawarte w nim pliki również zostaną usunięte. W agregacji złożonej obiekt może być jednocześnie częścią tylko jednego kompozytu.

Przykład kompozycji

Przykład agregacji

Na przykład, Twój samochód składa się z kół, silnika, skrzyni biegów, układu kierowniczego i nadwozia itd. Jest to zespół, a pozostałe części są jego składnikami.

Tutaj samochód do koła to jedna agregacja, samochód do silnika to inna agregacja, samochód do skrzyni biegów to inna, i tak dalej.

Ten typ parowania pomaga zdefiniować wielość składowej części w ramach złożenia jako jego wynik. Można również przedstawić liczbę obiektów.

Samochód do prawidłowego funkcjonowania potrzebuje koła. Nie możemy jednak powiedzieć tego samego o samochodzie. Tę samą logikę można zastosować do roweru, roweru lub dowolnego innego pojazdu, ale nie do konkretnego samochodu.

Tutaj obiekt koła ma znaczenie nawet bez obiektu samochodu. Nazywa się to relacją agregacji.

Przykład agregacji