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

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

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

Κατηγορία:Αντικειμενοστρεφής προγραμματισμός
Q4027615
πληροφορική
Concept
Q191062
μνημονικό
Concept
Q101244
ακρωνύμιο
Concept
Q30232
ευέλικτη ανάπτυξη
Concept
Q131560
Αρχή KISS
Concept
Κατηγορία:Αντικειμενοστρεφής προγραμματισμός
UNK
Q2583627
SOLID
MEDIA
Q2583627
SOLID
MEDIA
Q2583627
SOLID
MEDIA
Q2583627
SOLID
MEDIA
instance of
instance of