Agregacja a kompozycja w UML: kluczowe różnice

Spisie treści:

Anonim

Co to jest kompozycja?

Kompozycja to specjalny przypadek Aggregation, który pomaga określić relację całej części między klasą kompozycji a klasą podrzędną (częściową).

Co to jest agregacja?

Agregacja to szczególny przypadek asocjacji, gdy obiekt „ma” inny obiekt, między którymi możesz mieć agregację. Kierunek między nimi pomaga określić, który obiekt zawiera inny obiekt. Agregacja jest również nazywana relacją „Has-a”. Jest to podtyp relacji asocjacyjnej w UML.

KLUCZOWE RÓŻNICE

  • Agregacja to jeden typ powiązania między dwoma obiektami opisujący relację „mieć”, podczas gdy kompozycja jest szczególnym typem agregacji, który implikuje własność.
  • Agregacja jest oznaczona linią prostą z pustym grotem na jednym końcu. Z drugiej strony kompozycja jest oznaczona linią prostą z wypełnionym grotem na dowolnym końcu.
  • W relacji agregacji obiekty, które są ze sobą powiązane, mogą pozostawać w zasięgu systemu bez siebie. Ale w relacji kompozycji obiekty, które są ze sobą powiązane, nie mogą pozostawać w zakresie bez siebie.
  • W agregacji obiekty połączone nie są zależne od innego obiektu, podczas gdy w kompozycji obiekty są od siebie silnie zależne.
  • W agregacji usunięcie pojedynczego elementu nie wpływa na inny powiązany element. Wręcz przeciwnie, w kompozycji usunięcie pojedynczego elementu wpływa na inny powiązany element.
  • Agregacja jest oznaczona wypełnionym diamentem, a kompozycja pustym diamentem.

Kluczowe statystyki

Zbiór Kompozycja
Właściciel Brak właściciela Pojedynczy właściciel
Dożywotni Miej ich życie. Całe życie właściciela.
Obiekt potomny Wszystkie obiekty potomne są niezależne. Obiekty potomne należą do jednego rodzica.

Przykład kompozycji

Folder może zawierać wiele plików, podczas gdy każdy plik ma dokładnie jeden folder nadrzędny. 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 agregacji

Na przykład, twój samochód składa się z kół, silnika, skrzyni biegów, układu kierowniczego i korpusu, itp. Jest to zespół, a inne części są jego składnikami.

Tutaj auto do koła to jedno Agregacja, auto do silnika to drugie agregacja, auto do skrzyni biegów drugie i tak dalej.

Ten typ parowania pomaga zdefiniować wielokrotność części składowej w zespole 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 innego pojazdu, ale nie do konkretnego samochodu.

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

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

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

Zbiór Kompozycja
Agregacja to jeden typ powiązania między dwoma obiektami, który również opisuje relację „mieć”. Kompozycja to szczególny typ agregacji, który zakłada własność.
Agregacja jest oznaczona linią prostą z pustym grotem na jednym końcu. Skład jest oznaczony linią prostą z wypełnionym grotem na dowolnym końcu.
Agregacja jest częścią relacji asocjacyjnej. Kompozycja jest częścią związku asocjacyjnego.
Agregacja jest uważana za słaby typ asocjacji. Kompozycja jest uważana za silny typ skojarzenia.
W relacji agregacji obiekty, które są ze sobą powiązane, mogą pozostawać w zasięgu systemu bez siebie. W relacji kompozycji obiekty, które są ze sobą skojarzone, nie mogą pozostawać w zakresie bez siebie.
W agregacji obiekty połączone nie są zależne od innego obiektu. W kompozycji obiekty są od siebie silnie zależne.
W agregacji usunięcie pojedynczego elementu nie wpływa na inny powiązany element. W kompozycji usunięcie pojedynczego elementu wpływa na inny powiązany element.
Przykład: samochód potrzebuje koła, ale nie zawsze wymaga tego samego koła. Samochód może również prawidłowo funkcjonować z innym kołem. Przykład: plik jest umieszczony w folderze. Jeśli usuniesz folder, plik skojarzony z tym folderem również zostanie usunięty.
W Aggregation: relacja nadrzędna z jednostką podrzędną. W kompozycji jednostka nadrzędna jest właścicielem jednostki podrzędnej.
Jest oznaczony wypełnionym diamentem Jest oznaczony pustym diamentem
Dziecko nie ma życia. Dziecko może mieć całe życie.
Jest reprezentowany przez pusty romb obok klasy Assembly. Jest reprezentowany przez pełny diament obok klasy Assembly.
Usunięcie zespołu nigdy nie wpływa na jego części. W przypadku posiadania klasy obiekt jest usuwany. Wpływa również na zawierający obiekt klasy.