SOLID w programowaniu jest tym, czym dla sportowca dobrze rozpisany trening.

Akronim ten wymyślił Robert C. Martin (inaczej zwany Uncle Bob), amerykański programista.
Czym właściwie jest SOLID? Jest to zestaw wytycznych  (zasad), które stosuje się podczas programowania w sposób obiektowy. Skrót pochodzi od pierwszych liter wytycznych:
Single responsibility (pojedyncza odpowiedzialność),
Open/closed (otwarte/zamknięte),
Liskov substitution (podstawienie Liskov),
Interface integration (segregacja interfejsów),
Dependency inversion (odwrócenie zależności).
Powyższe zasady podpowiadają, jak pisać dobry kod zorientowany obiektowo, czyli kod przystępny i łatwo modyfikowalny. Należy pamiętać, że nie wszystkie zasady mogą być spełnione w stu procentach i sam SOLID jest bardziej wskazówką dla programistów. Nie można na ślepo stosować się do wszystkich reguł. Prawdopodobnie zdarzą się przypadki, gdy nagięcie jednej z wytycznych (np. pojedynczej odpowiedzialności, gdzie skonstruowanie klasy, która będzie mieć wiele zakresów odpowiedzialności) będzie w tym danym przypadku lepszym rozwiązaniem.

Dlaczego warto?

W miarę rozwijania i rozbudowy aplikacji, która rozrasta się w wielu kierunkach, powstają również mniejsze lub większe błędy. Każda próba naprawy i ingerencji w kod staje się trudniejsza i mniej efektywna. SOLID w programowaniu jest zbiorem zasad, które pomogą nam uniknąć powyższych problemów i sprawią, że zrozumienie i zmiana kodu staną się łatwiejsze i bardziej przystępne. Ponadto zapewnia nam przejście z powiązanego i mało spójnego kodu do kodu bardziej elastycznego z luźnymi powiązaniami. Najczęściej przydatność stosowania zasad SOLID dostrzega inny programista, która ma pracować z naszym kodem lub też, jeżeli mamy powrócić do naszej pracy po dłuższym czasie.