SOLID

Στην πληροφορική αντικειμενοστρεφή προγραμματισμό, το SOLID είναι ένα μνημονικό ακρωνύμιο για πέντε αρχές σχεδιασμού που αποσκοπούν στο να κάνουν τα σχέδια λογισμικού πιο κατανοητά, ευέλικτα και διατηρήσιμα . Δεν σχετίζεται με τις αρχές σχεδιασμού λογισμικού GRASP . Οι αρχές είναι ένα υποσύνολο πολλών αρχών που προωθούνται από τον Αμερικανό μηχανικό και εκπαιδευτή Robert C. Martin .    Αν και εφαρμόζονται σε οποιονδήποτε αντικειμενοστρεφή σχεδιασμό, οι αρχές SOLID μπορούν επίσης να αποτελέσουν μια βασική φιλοσοφία για μεθοδολογίες όπως η ευέλικτη ανάπτυξη ή η προσαρμοστική ανάπτυξη λογισμικού .  Η θεωρία των αρχών SOLID εισήχθη από τον Martin στο βιβλίο του 2000 Principles and Design Patterns,   αν και το SOLID αρκτικόλεξο εισήχθη αργότερα από τον Michael Feathers.  

 Αρχή της ενιαίας ευθύνης  
 Μια κλάση θα πρέπει να έχει μόνο μία ευθύνη, δηλαδή, μόνο οι αλλαγές σε ένα μέρος των προδιαγραφών του λογισμικού θα πρέπει να μπορούν να επηρεάσουν τις προδιαγραφές της κλάσης.
 Ανοιχτή - κλειστή αρχή  
 "Οντότητες λογισμικού   ... πρέπει να είναι ανοιχτό για επέκταση, αλλά κλειστό για τροποποίηση. " 
 Αρχή υποκατάστασης Liskov  
 "Τα αντικείμενα σε ένα πρόγραμμα πρέπει να αντικαθίστανται με εμφανίσεις των υποτύπων τους χωρίς να αλλάζουν την ορθότητα αυτού του προγράμματος." Δείτε επίσης το σχέδιο με σύμβαση . 
 Αρχή διαχωρισμού διεπαφής  
 "Πολλές διεπαφές για συγκεκριμένους πελάτες είναι καλύτερες από μια διεπαφή γενικού σκοπού."  
 Αρχή αντιστροφής της εξάρτησης  
 Κάποιος πρέπει να "εξαρτάται από αφαιρέσεις, [όχι] σκυροδέματα".  

 Επαναχρησιμοποίηση κώδικα 
 Κληρονομικότητα (αντικειμενοστρεφής προγραμματισμός) 
 Αρχές συσκευασίας 
 Μην επαναλάβετε τον εαυτό σας 
 GRASP (αντικειμενοστραφής σχεδίαση) 
 Αρχή KISS 
 Δεν θα το χρειαστείτε 

Αντικειμενοστρεφής προγραμματισμός
Σχεδιασμός λογισμικού