Οι αρχές SOLID είναι ένα σύνολο κατευθυντήριων γραμμών που βοηθούν τους προγραμματιστές να σχεδιάσουν συντηρήσιμο και κλιμακωτό λογισμικό. Εφαρμόζοντας αυτές τις αρχές μπορεί να βελτιώσει την ποιότητα του κώδικα και να μειώσει τα σφάλματα.

Αρχή ενιαίας ευθύνης

Η Αρχή της Ενιαίας Ευθύνης ορίζει ότι μια τάξη πρέπει να έχει μόνο έναν λόγο να αλλάζει. Αυτό σημαίνει ότι κάθε τάξη πρέπει να επικεντρώνεται σε μια ενιαία λειτουργικότητα ή ευθύνη.

Αρχή ανοίγματος/Κλεισίματος

Η Αρχή Ανοιχτού/Κλειστού προτείνει ότι οι οντότητες λογισμικού θα πρέπει να είναι ανοικτές για επέκταση αλλά κλειστές για τροποποίηση. Οι προγραμματιστές μπορούν να προσθέσουν νέα χαρακτηριστικά επεκτείνοντας τον υπάρχοντα κώδικα χωρίς να αλλοιώνουν την αρχική πηγή. Αυτή η προσέγγιση ελαχιστοποιεί τον κίνδυνο εισαγωγής σφαλμάτων.

Αρχή της αντικατάστασης του Liskov

Η Αρχή της Υποκατάστασης του Liskov αναφέρει ότι τα αντικείμενα μιας υπερτάξης πρέπει να μπορούν να αντικατασταθούν με αντικείμενα μιας υποτάξης χωρίς να επηρεάζεται η ορθότητα του προγράμματος. Αυτό εξασφαλίζει ότι οι υποτάξεις επεκτείνουν τις βασικές τάξεις χωρίς να αλλάζουν τη συμπεριφορά τους.

Αρχή διαχωρισμού διεπαφών

Η Αρχή Διασύνδεσης Segregation συνιστά στους πελάτες να μην αναγκάζονται να εξαρτώνται από τις διεπαφές που δεν χρησιμοποιούν. Μικρότερες, ειδικές διεπαφές προτιμώνται από τις μεγάλες, γενικές. Αυτό μειώνει τις περιττές εξαρτήσεις και βελτιώνει την ευελιξία.

Αρχή Αντιστροφής Εξάρτησης

Η Αρχή Αντίστροφης Εξάρτησης τονίζει ότι οι υψηλού επιπέδου ενότητες δεν πρέπει να εξαρτώνται από τις ενότητες χαμηλού επιπέδου. Αντ' αυτού, και οι δύο πρέπει να εξαρτώνται από τις αφαιρέσεις.