Sobes.tech
Middle+

Τι είναι ο χαμηλός συσχετισμός και η υψηλή συνοχή (low coupling, high cohesion);

sobes.tech AI

Απάντηση από AI

Χαμηλός συσχετισμός (low coupling) και υψηλή συνοχή (high cohesion) είναι αρχές σχεδίασης που αποσκοπούν στη δημιουργία κώδικα εύκολα συντηρήσιμου, επεκτάσιμου και δοκιμασμένου.

Χαμηλός συσχετισμός (Low Coupling)

  • Σημαίνει ότι τα συστατικά (κλάσεις, μονάδες) εξαρτώνται ελάχιστα το ένα από το άλλο. Οι αλλαγές σε ένα συστατικό έχουν ελάχιστη επίδραση στα άλλα.
  • Χαρακτηριστικά του χαμηλού συσχετισμού:
    • Τα συστατικά αλληλεπιδρούν μέσω σαφώς ορισμένων διεπαφών.
    • Ελαχιστοποιείται η άμεση πρόσβαση στις εσωτερικές λεπτομέρειες άλλων συστατικών.
    • Οι αλλαγές στην υλοποίηση ενός συστατικού δεν απαιτούν αλλαγές στα άλλα.
  • Πλεονεκτήματα:
    • Διευκολύνει τη δοκιμή μεμονωμένων συστατικών.
    • Ο κώδικας γίνεται πιο ευέλικτος και πιο εύκολος στην επέκταση.
    • Μειώνεται ο κίνδυνος σφαλμάτων κατά τις αλλαγές.

Υψηλή συνοχή (High Cohesion)

  • Σημαίνει ότι τα στοιχεία μέσα σε ένα συστατικό είναι λογικά συνδεδεμένα και εκτελούν μια σαφώς ορισμένη εργασία. Ένα συστατικό με υψηλή συνοχή εστιάζει σε μια μόνο ευθύνη.
  • Χαρακτηριστικά της υψηλής συνοχής:
    • Όλες οι μέθοδοι της κλάσης ανήκουν σε μια λειτουργική περιοχή.
    • Η κλάση δεν περιέχει άσχετες λειτουργίες.
    • Η λογική που αφορά μια εργασία συγκεντρώνεται σε ένα μέρος.
  • Πλεονεκτήματα:
    • Ο κώδικας γίνεται πιο κατανοητός και εύκολος στην ανάγνωση.
    • Διευκολύνει τον εντοπισμό και την διόρθωση σφαλμάτων.
    • Το συστατικό γίνεται πιο επαναχρησιμοποιήσιμο.

Συνολικά, πρέπει να επιδιώκεται χαμηλός συσχετισμός μεταξύ συστατικών και υψηλή συνοχή εντός κάθε συστατικού.