URL başarıyla kopyalandı!

https://webratik.com/

SOLID Prensipleri Nedir?

SOLID Prensipleri Nedir?

SOLID, nesne yönelimli programlamada (OOP) yazılımın daha anlaşılır, esnek ve bakımı kolay olmasını sağlayan beş temel tasarım ilkesinin kısaltmasıdır. 2000'li yılların başında Robert C. Martin (Uncle Bob) tarafından popüler hale getirilen bu prensipler, yazılım projelerinin büyümesiyle ortaya çıkan "spagetti kod" karmaşasını önlemek için kullanılan en etkili mühendislik rehberidir.

SOLID Prensipleri Nedir?

SOLID, beş farklı tasarım ilkesinin baş harflerinden oluşur. Bu ilkelerin temel amacı, yazılımcıların bir özelliği değiştirirken sistemin diğer kısımlarını bozmasını engellemek ve kodun yeniden kullanılabilirliğini artırmaktır. Bir yazılım projesi ne kadar büyük olursa olsun, SOLID prensiplerine sadık kalındığında kodun "çürümesi" engellenir. Bu prensipler dilden bağımsızdır; Java, C#, Python veya JavaScript gibi nesne yönelimli tüm dillerde uygulanabilir.

Beş Temel İlke Nasıl Çalışır?

SOLID'i oluşturan maddeler ve kısa görev tanımları şöyledir:

  • S - Single Responsibility (Tek Sorumluluk): Bir sınıfın veya metodun sadece tek bir görevi olmalıdır. Bir sınıfı değiştirmek için tek bir nedeniniz olmalıdır.
  • O - Open/Closed (Açık/Kapalı): Yazılım birimleri (sınıflar, modüller) geliştirmeye açık, ancak mevcut kodun değiştirilmesine kapalı olmalıdır. Yeni özellikler eklemek için mevcut kodu bozmamalısınız.
  • L - Liskov Substitution (Liskov Yerine Geçme): Alt sınıflar, türetildikleri üst sınıfların yerine kullanılabilmelidir. Yani bir alt sınıf, üst sınıfın davranışını bozmamalıdır.
  • I - Interface Segregation (Arayüz Ayrımı): Bir arayüze (interface) gereğinden fazla yetenek yüklenmemelidir. Sınıflar, kullanmadıkları metodları içeren arayüzleri zorla implement etmemelidir.
  • D - Dependency Inversion (Bağımlılığın Tersine Çevrilmesi): Yüksek seviyeli modüller, düşük seviyeli modüllere bağımlı olmamalıdır. Her ikisi de soyutlamalara (interfaces) bağımlı olmalıdır.

SOLID Prensipleri Nerede Kullanılır?

Bu prensipler, özellikle büyük ölçekli ve uzun vadeli kurumsal yazılım projelerinde hayati önem taşır. Bir bankacılık sistemi, e-ticaret altyapısı veya karmaşık bir mobil uygulama geliştirilirken SOLID kuralları uygulanmazsa, kod bir süre sonra dokunulamaz hale gelir (Legacy Code). Modern yazılım dünyasındaki "Clean Code" (Temiz Kod) anlayışının ve "Design Patterns" (Tasarım Kalıpları) konusunun temel direği SOLID ilkeleridir.

SOLID'in Mimarı Kimdir?

SOLID kısaltması ve bu prensiplerin bir araya getirilmesi, "Uncle Bob" (Bob Amca) olarak bilinen ünlü yazılımcı Robert C. Martin tarafından gerçekleştirilmiştir. Martin, 2000 yılında yazdığı "Design Principles and Design Patterns" makalesinde bu kavramları derlemiştir. Liskov Substitution prensibi ise ismini, 1987 yılında bu kavramı bilimsel olarak tanımlayan ünlü bilgisayar bilimci ve Turing Ödülü sahibi Barbara Liskov'dan almaktadır.

Sıradışı Bilgiler: Yazılımın Anayasası Hakkında İlginç Gerçekler

  • Maliyet Etkisi: Yazılım maliyetinin %80'i bakım (maintenance) sürecinde oluşur. SOLID prensipleri, bu bakım maliyetini dramatik şekilde düşüren en önemli unsurdur.
  • Liskov'un Önemi: Liskov Substitution, SOLID içindeki en matematiksel ve teorik prensiptir. Eğer bir "Kare" sınıfı, "Dikdörtgen" sınıfından türetiliyorsa ve bazı durumlarda dikdörtgen gibi davranamıyorsa, bu prensip ihlal edilmiş demektir.
  • Kod Kalitesi: Bir yazılımcının "senior" (kıdemli) seviyesine ulaşıp ulaşmadığı, genellikle kod yazarken SOLID prensiplerini ne kadar içselleştirdiğiyle ölçülür.
16.04.2026