Συνιστάται, 2024

Επιλογή Συντάκτη

Διαφορά μεταξύ συσσώρευσης και σύνθεσης

Η συσσωμάτωση και η σύνθεση είναι οι τύποι της Ένωσης. Η κύρια διαφορά μεταξύ συσσωμάτωσης και σύνθεσης είναι ότι η συσσωμάτωση εμπεριέχει μια σχέση όπου το παιδί μπορεί να υπάρχει ανεξάρτητα από το γονέα. Από την άλλη πλευρά, η σύνθεση υπονοεί μια σχέση όπου το παιδί δεν μπορεί να υπάρχει ανεξάρτητα από τον γονέα.

Ο αντικειμενοστρεφής προγραμματισμός είναι ένα κοινό παράδειγμα που χρησιμοποιείται στην ανάπτυξη λογισμικού. Το αντικείμενο είναι μια παρουσία μιας κλάσης που δημιουργείται από τις κλάσεις. Τα αντικείμενα συνεργάζονται μεταξύ τους μέσω των συνδέσμων. Οι σύνδεσμοι είναι η φυσική και εννοιολογική σύνδεση μεταξύ αντικειμένων. Μια συλλογή συνδέσμων που έχουν παρόμοια δομή και σημασιολογία περιγράφεται ως ένωση .

Συγκριτικό διάγραμμα

Βάση σύγκρισηςΣυσσωμάτωσηΣύνθεση
ΒασικόςΣυνολικά υπάρχει μια σχέση όπου ένα παιδί μπορεί να υπάρξει ανεξάρτητα από τον γονέα.Στη σύνθεση δεν μπορεί να υπάρξει ανεξάρτητα από τον γονέα.
Τύπος σχέσης"έχει ένα""μέρος του"
Τύπος σύνδεσηςΑδύναμη ένωσηΙσχυρή σχέση
Σύμβολο σχεδιασμού UMLΑντιπροσωπεύεται από ένα κοίλο διαμάντι δίπλα στην τάξη συναρμολόγησης.Αντιπροσωπεύεται από ένα συμπαγές διαμάντι δίπλα στην τάξη συναρμολόγησης.
ΛειτουργίαΗ διαγραφή της συναρμολόγησης δεν επηρεάζει τα μέρη της.Εάν το κύριο αντικείμενο κλάσης διαγραφεί, θα μπορούσε να επηρεάσει σημαντικά το αντικείμενο τάξης που περιέχει.

Ορισμός της συσσωμάτωσης

Η συσσωμάτωση μπορεί να οριστεί ως σχέση με μια τάξη συναρμολόγησης στην τάξη συστατικών. Η σχέση μεταξύ δύο αντικειμένων μπορεί να αναπαρασταθεί με το σχεδιασμό ενός τμήματος γραμμής σε UML (Unified Modeling Language).

Η συσσωμάτωση χρησιμοποιείται επίσης για τον προσδιορισμό της πολλαπλότητας αντικειμένων, όπως ένα προς ένα, ένα προς πολλά και πολλά προς πολλά. Όταν ένα αντικείμενο της κλάσης X συνδέεται με ένα μόνο αντικείμενο της κλάσης Υ, τότε υπάρχει σχέση one-to-one. Ομοίως, εάν ένα μόνο αντικείμενο μιας κλάσης συσχετίζεται με πολλαπλά αντικείμενα μιας τάξης, τότε αυτή η σχέση αναφέρεται ως ένα προς πολλά.

Για παράδειγμα, ένα αυτοκίνητο αποτελείται από τροχούς, κινητήρα, κιβώτιο ταχυτήτων, σύστημα διεύθυνσης, κύριο σώμα κλπ. Ένα αυτοκίνητο είναι ένα συγκρότημα και τα άλλα μέρη αποτελούν τα συστατικά του. Το αυτοκίνητο στους τροχούς είναι μια συνάθροιση, το αυτοκίνητο προς τους κινητήρες είναι μια άλλη συνάθροιση, και ούτω καθεξής. Κάθε μεμονωμένη αντιστοίχιση ορίζεται για να προσδιορίσει την πολλαπλότητα κάθε συστατικού μέρους μέσα στο συγκρότημα ως αποτέλεσμα, ο αριθμός αντικειμένων μπορεί επίσης να απεικονιστεί.

Η συνάθροιση είναι ένας τύπος συσχέτισης που περιγράφει έναν τύπο σχέσης "έχει ένα" μεταξύ των αντικειμένων. Για παράδειγμα, ένα αυτοκίνητο "έχει" κιβώτιο ταχυτήτων, και ένα αυτοκίνητο "έχει" κινητήρα . Για τη σχέση "ένας προς πολλούς", ένα παράδειγμα είναι ένα αυτοκίνητο "έχει" πολλούς τροχούς .

Ορισμός της σύνθεσης

Η σύνθεση είναι επίσης ένας τύπος συσχέτισης, αλλά μια πιο περιοριστική μορφή. Παρουσιάζεται στο UML από ένα μικρό στερεό διαμάντι δίπλα στην τάξη συναρμολόγησης.

Σε αυτόν τον τύπο σύνδεσης, το συστατικό μέρος μπορεί να συνδεθεί με το πολύ μία διάταξη. Επιπλέον, όταν ένα συστατικό μέρος συνεργάζεται με τη συναρμολόγηση, θα έχει την ταυτόχρονη διάρκεια ζωής με τη συναρμολόγηση.

Έτσι, η σύνθεση σημαίνει ιδιοκτησία του συστατικού μέρους του συνόλου. Αυτό τελικά θα αυξήσει την ευκολία για τον προγραμματισμό. Η σύνθεση μπορεί να προκαλέσει τη διαγραφή του συστατικού αντικειμένου με τη διαγραφή ενός αντικειμένου συναρμολόγησης.

Η σύνθεση περιγράφει μια σχέση "μέρους" . Για παράδειγμα, ένα φύλλο είναι μέρος ενός δέντρου, αν το δέντρο καταστραφεί, τότε τα φύλλα πρέπει να καταστραφούν.

Βασικές διαφορές μεταξύ συσσωμάτωσης και σύνθεσης

  1. Η συσσωμάτωση υποδηλώνει μια σχέση όπου ένα παιδί και οι γονείς μπορούν να υπάρχουν ανεξάρτητα. Αντιθέτως, στη σύνθεση, η οντότητα του παιδιού εξαρτάται από τον γονέα.
  2. Σε συνάρτηση υπάρχει μια σχέση "έχει μια", ενώ στη σύνθεση υπάρχει μια σχέση "μέρους" μεταξύ των αντικειμένων συναρμολόγησης και συστατικών τάξεων.
  3. Η συσσωμάτωση είναι αδύναμη συσχέτιση ενώ η σύνθεση είναι μια ισχυρή ένωση επειδή έχει περισσότερους περιορισμούς.
  4. Στο σχεδιασμό UML η συσσωμάτωση περιγράφεται από ένα κοίλο διαμάντι. Αντίθετα, η σύνθεση απεικονίζεται από ένα στερεό διαμάντι.

συμπέρασμα

Συνολικά, τα συστατικά μέρη έχουν την ανεξάρτητη ύπαρξη και μπορούν να μοιραστούν ή να εκχωρηθούν σε συσσωματώματα ή στη συναρμολόγησή τους. Από την άλλη πλευρά, στη σύνθεση, το συστατικό τμήμα ανήκει ακριβώς σε ένα συγκρότημα ή ένα σύνολο. Επιπλέον, το τμήμα δημιουργείται όταν σχηματίζεται το συσσωμάτωμα και το τμήμα καταστρέφεται όταν το αδρανές καταστρέφεται.

Top