SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation ve Dependency inversion) yazılım tasarım prensipleri için kullanılan bir kısaltmadır. Yazılım yaparken SOLID uygulandığı taktirde bakımı ve geliştirilmesi kolay yazılım sistemleri oluşturmak mümkündür. En verimli hali test güdümlü yazılım ile uygulanır.
S SRP Single Responsibility Principle
Her yazılım biriminin (sınıf, nesne, metot) tek bir sorumluluğu olmalıdır.
O OCP Open/Closed Principle
Yazılım birimleri geliştirilmeye açık, değişikliğe kapalı olmalıdır.
L LSP Liskov’s Substitution Principle
Alt sınıflardan oluşturulan nesneler üst sınıfların nesneleriyle yer değiştirdiklerinde aynı davranışı göstermek zorundadırlar.
I ISP Interface Segregation Principle
Herşeyi ihtiva eden interface sınıflar yerine belli bir işlemi yapan interface sınıflar oluşturulmalıdır.
D DIP Dependency Inversion Principle
Bağımlılıklar soyut sınıflara doğru olmalıdır.