SOLID Nedir?
İngilizce: SOLID Principles
SOLID, nesne yönelimli yazılımda sınıfları daha anlaşılır, test edilebilir ve değişime dayanıklı tasarlamak için kullanılan beş tasarım ilkesidir.
SOLID Nedir?
SOLID, nesne yönelimli yazılımda kodun değişime daha dayanıklı, okunabilir ve test edilebilir olmasını hedefleyen beş tasarım ilkesinin kısaltmasıdır. İlkeler özellikle sınıf sorumlulukları, bağımlılıklar ve genişletilebilirlik kararlarında rehberlik eder.
SOLID bir framework veya zorunlu kurallar listesi değildir. Her ilke, kodun bakım maliyetini düşürmek için düşünülmesi gereken bir tasarım sorusuna işaret eder.
Beş İlke
- Single Responsibility: Bir sınıfın değişmek için tek ana nedeni olmalıdır.
- Open/Closed: Kod yeni davranışlara açık, mevcut davranışı bozacak değişikliklere kapalı tasarlanmalıdır.
- Liskov Substitution: Alt sınıflar, üst sınıfın beklenen davranışını bozmayacak şekilde kullanılabilmelidir.
- Interface Segregation: İstemciler ihtiyaç duymadıkları metotlara bağımlı bırakılmamalıdır.
- Dependency Inversion: Üst seviye modüller somut sınıflara değil, soyutlamalara bağımlı olmalıdır.
İş Dünyasında Kullanımı
SOLID ilkeleri ödeme hesaplama, kargo sağlayıcısı seçimi, rapor üretimi veya farklı müşteri tiplerine göre fiyatlandırma gibi değişmesi beklenen iş kurallarında değer kazanır. Doğru ayrılmış sorumluluklar yeni özellik eklerken beklenmeyen yan etkileri azaltır.
Yine de her küçük sınıfı aşırı soyutlamak kodu daha iyi yapmaz. SOLID, clean code ve tasarım deseni pratikleriyle birlikte, gerçek değişim ihtiyacına göre dengeli uygulanmalıdır.
İlgili Terimler
Clean Code, yazılımın niyetini açık gösteren, küçük parçalara ayrılmış ve bakım maliyetini düşüren kod yazma yaklaşımıdır.
Dependency InjectionDependency injection, sınıfın ihtiyaç duyduğu bağımlılıkları kendi oluşturmadan dışarıdan almasını sağlayan tasarım desenidir.
Tasarım DeseniTasarım deseni, tekrar eden yazılım tasarımı problemleri için dili ve projeyi aşan, denenmiş çözüm yaklaşımını tarif eder.