Zalecane, 2019

Wybór Redakcji

Różnica między agregacją a składem

Agregacja i skład są rodzajami Stowarzyszenia. Podstawową różnicą między agregacją a kompozycją jest to, że agregacja jest niejawną relacją, w której dziecko może istnieć niezależnie od rodzica. Z drugiej strony kompozycja insynuuje związek, w którym dziecko nie może istnieć niezależnie od rodzica.

Programowanie obiektowe jest powszechnym paradygmatem wykorzystywanym przy tworzeniu oprogramowania. Obiekt jest instancją klasy tworzonej przez klasy. Obiekty współpracują ze sobą za pośrednictwem łączy. Łącza to fizyczne i koncepcyjne połączenie między obiektami. Zbiór łączy o podobnej strukturze i semantykach jest opisany jako powiązanie .

Wykres porównania

Podstawa do porównaniaZbiórKompozycja
PodstawowyW agregacji występuje związek, w którym dziecko może istnieć niezależnie od rodzica.W składzie nie może istnieć niezależnie od rodzica.
Rodzaj relacji"ma""część"
Typ powiązaniaSłabe skojarzenieSilne powiązanie
Symbol projektu UMLReprezentowany przez pustego rombu obok klasy montażowej.Reprezentowany przez solidny diament obok klasy montażowej.
FunkcjonowaćUsunięcie zespołu nie wpływa na jego części.Jeśli obiekt klasy posiadający zostanie usunięty, może znacząco wpłynąć na obiekt klasy zawierającej.

Definicja agregacji

Agregację można zdefiniować jako relację z klasą złożenia do klasy składowej. Relację między dwoma obiektami można przedstawić, rysując segment linii w języku UML (Unified Modeling Language).

Agregacja jest również używana do określenia wielu obiektów, takich jak jeden do jednego, jeden do wielu i wiele do wielu. Gdy obiekt klasy X jest powiązany z pojedynczym obiektem klasy Y, w takim przypadku istnieje relacja jeden-do-jednego. Podobnie, jeśli pojedynczy obiekt klasy jest powiązany z wieloma obiektami klasy, wówczas ta relacja jest określana jako jeden do wielu.

Na przykład samochód składa się z kół, silnika, skrzyni biegów, układu kierowniczego, głównego nadwozia itp. Samochód jest zespołem, a pozostałe części są jego składnikami. Samochód na koła to jedna agregacja, samochód do silników to kolejna agregacja i tak dalej. Każde indywidualne parowanie jest zdefiniowane w celu określenia mnogości każdej części składowej w zespole, jako wynik liczby obiektów można również przedstawić.

Agregacja jest typem powiązania, które opisuje typ relacji między obiektami. Na przykład samochód "ma" skrzynię biegów, a samochód "ma" silnik . Dla relacji jeden-do-wielu przykładem jest samochód " mający " wiele kół .

Definicja kompozycji

Kompozycja jest również rodzajem stowarzyszenia, ale bardziej restrykcyjną formą. Jest on reprezentowany w języku UML za pomocą niewielkiego bryły diamentowej sąsiadującej z klasą montażu.

W tym typie powiązania część składową można połączyć z co najwyżej jednym zestawem. Dodatkowo, gdy część składowa współpracuje ze złożeniem, będzie miała współbieżny czas życia ze złożeniem.

Tak więc kompozycja oznacza własność części składowej całości. To ostatecznie zwiększy wygodę programowania. Kompozycja może wyzwalać usunięcie obiektu składowego przez usunięcie obiektu złożenia.

Kompozycja opisuje związek "części" . Na przykład liść jest częścią drzewa, jeśli drzewo jest zniszczone, liście muszą zostać zniszczone.

Kluczowe różnice między agregacją a składem

  1. Agregacja wskazuje związek, w którym dziecko i jednostka nadrzędna mogą istnieć niezależnie. W przeciwieństwie do kompozycji, jednostka podrzędna jest zależna od rodzica.
  2. W agregacji istnieje relacja "ma", podczas gdy w kompozycji występuje "część" związku między złożeniem a obiektami klasy składowej.
  3. Agregacja jest słabym powiązaniem, podczas gdy kompozycja jest silnym związkiem, ponieważ ma więcej ograniczeń.
  4. W projekcie UML agregacja jest opisana przez pustą bryłę. W przeciwieństwie do tego, kompozycję wyobraża solidny diament.

Wniosek

W agregacji części składowe mają niezależne istnienie i mogą być współdzielone lub ponownie przypisane do agregatów lub ich zespołów. Z drugiej strony, w składzie, część składowa należy do dokładnie jednego zespołu lub agregatu. Ponadto część jest tworzona, gdy agregat jest tworzony, a część jest niszczona, gdy agregat jest niszczony.

Top