SOLID, yazılım geliştirme yaparken uygulanması önerilen beş adet tasarım prensibi içeren bir kısaltmadır. SOLID, aşağıdaki beş prensibi içermektedir:
-
Single Responsibility Principle (Tek Sorumluluk Prensibi) - Her nesnenin tek bir görev ve sorumluluğu olmalıdır.
-
Open/Closed Principle (Açık/Kapalı Prensibi) - Nesnelerin mülkleri ve davranışları değiştirilmeye kapalı olmalı ancak uzantılarla genişletilebilmelidir.
-
Liskov Substitution Principle (Liskov Değiştirme Prensibi) - Alt sınıfların üst sınıfların yerine kullanılabilmesi gerekir.
-
Interface Segregation Principle (Arayüz Ayrım Prensibi) - Nesnelerin yapması gereken ama yapmayacağı işlemleri içermemesi gerekir.
-
Dependency Inversion Principle (Bağımlılık Tersine Çevirme Prensibi) - Yüksek seviye modüller düşük seviye modüllerden bağımlı olmamalı, her ikisi de ortak arayüzlerden bağımlı olmalıdır.
Bu prensipler, yazılım geliştirirken daha esnek, test edilebilir, değiştirilebilir ve bakımı kolay yazılım sistemleri oluşturmak için uygulanması önerilir.