Sobes.tech
Senior

Τι είναι το GRASP;

sobes.tech AI

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

GRASP (Γενικά Μοντέλα Ανάθεσης Ευθύνης Λογισμικού) είναι ένα σύνολο καθολικών αρχών για την ανάθεση ευθυνών σε κλάσεις και αντικείμενα στον αντικειμενοστραφή σχεδιασμό. Βοηθούν στη δημιουργία ευέλικτων, εύκολων στη συντήρηση και επαναχρησιμοποιήσιμων συστημάτων. Τα κύρια μοτίβα του GRASP περιλαμβάνουν:

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

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