Στην πληροφορική αντικειμενοστρεφή προγραμματισμό, το SOLID είναι ένα μνημονικό ακρωνύμιο για πέντε αρχές σχεδιασμού που αποσκοπούν στο να κάνουν τα σχέδια λογισμικού πιο κατανοητά, ευέλικτα και διατηρήσιμα . Δεν σχετίζεται με τις αρχές σχεδιασμού λογισμικού GRASP . Οι αρχές είναι ένα υποσύνολο πολλών αρχών που προωθούνται από τον Αμερικανό μηχανικό και εκπαιδευτή Robert C. Martin . [1] [2] [3] Αν και εφαρμόζονται σε οποιονδήποτε αντικειμενοστρεφή σχεδιασμό, οι αρχές SOLID μπορούν επίσης να αποτελέσουν μια βασική φιλοσοφία για μεθοδολογίες όπως η ευέλικτη ανάπτυξη ή η προσαρμοστική ανάπτυξη λογισμικού . Η θεωρία των αρχών SOLID εισήχθη από τον Martin στο βιβλίο του 2000 Principles and Design Patterns, [4] αν και το SOLID αρκτικόλεξο εισήχθη αργότερα από τον Michael Feathers. [5]
- Αρχή της ενιαίας ευθύνης [6]
- Μια κλάση θα πρέπει να έχει μόνο μία ευθύνη, δηλαδή, μόνο οι αλλαγές σε ένα μέρος των προδιαγραφών του λογισμικού θα πρέπει να μπορούν να επηρεάσουν τις προδιαγραφές της κλάσης.
- Ανοιχτή - κλειστή αρχή [7]
- "Οντότητες λογισμικού ... πρέπει να είναι ανοιχτό για επέκταση, αλλά κλειστό για τροποποίηση. "
- Αρχή υποκατάστασης Liskov [8]
- "Τα αντικείμενα σε ένα πρόγραμμα πρέπει να αντικαθίστανται με εμφανίσεις των υποτύπων τους χωρίς να αλλάζουν την ορθότητα αυτού του προγράμματος." Δείτε επίσης το σχέδιο με σύμβαση .
- Αρχή διαχωρισμού διεπαφής [9]
- "Πολλές διεπαφές για συγκεκριμένους πελάτες είναι καλύτερες από μια διεπαφή γενικού σκοπού." [4]
- Αρχή αντιστροφής της εξάρτησης [10]
- Κάποιος πρέπει να "εξαρτάται από αφαιρέσεις, [όχι] σκυροδέματα".
- Επαναχρησιμοποίηση κώδικα
- Κληρονομικότητα (αντικειμενοστρεφής προγραμματισμός)
- Αρχές συσκευασίας
- Μην επαναλάβετε τον εαυτό σας
- GRASP (αντικειμενοστραφής σχεδίαση)
- Αρχή KISS
- Δεν θα το χρειαστείτε