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(Tek sorumluluk): 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(extends) açık, değişikliğe(modify) 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.(Örneğin, bir
dikdörtgen sınıfından türeyen kare alt sınıfının alan hesaplaması dikdörtgen
sınıfının alan hesaplaması ile aynı davranışı göstermelidir.)
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. Oluşturulan interfaceler ortak özelliklerine
göre bölümlenmelidir.
D - DIP, Dependency Inversion Principle: Üst seviye sınıflar alt seviye
sınıflara tersten bağımlı olmamalıdır. Bir nesne direkt olarak kullanılmamalı,
ortak özellikleri soyutlanarak kullanılmalıdır ki nesnenin tüm özellikleri, sonradan
o nesneyi kullanan nesnelerin özellikleri çakışabilir. (Örneğin;
Kumanda->Televizyon kumandası<Ses ve görüntü açma>,Radyo kumandası<Ses
açma> gibi)
Yararlanılan Kaynaklar:
- http://www.kurumsaljava.com/2011/12/30/solid/
- http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
Hiç yorum yok :
Yorum Gönder