Yazılımda SOLID Prensipleri


SOLID Prensibi Nedir?

SOLID Prensipleri


S.O.L.I.D. yazılımcıların  kaliteli bir program geliştirebilmeleri için takip ettikleri beş prensibin İngilizce isimlerinin baş harflerinden oluşturulmuş bir kısaltmadır. Yazılım geliştirmede, karmaşıklığı yönetmek ve kodun kalitesini artırmak için çeşitli prensipler ve tasarım desenleri kullanılır. SOLID prensipleri, nesneye dayalı programlamada (OOP) daha sağlam, okunabilir, sürdürülebilir ve bakımı kolay kod yazmak için kullanılan 5 temel prensipten oluşur.


S - Tek Sorumluluk Prensibi (Single Responsibility Principle): Bir sınıf veya modül sadece tek bir sorumluluğa sahip olmalıdır. Bu, kodun daha iyi anlaşılmasını ve değiştirilmesini kolaylaştırır.


O - Açık/Kapalı Prensibi (Open/Closed Principle): Yazılım yeni fonksiyonlara açık, ancak değişikliklere kapalı olmalıdır. Yeni fonksiyonlar eklemek kodda var olan fonksiyonları değiştirmeyi gerektirmemelidir.


L - Liskov Yerine Koyma Prensibi (Liskov Substitution Principle): Bir alt sınıf, üst sınıfın yerine kullanılabilmelidir. Bu, kodun daha esnek ve test edilebilir olmasını sağlar.


I - Arayüz Segregasyonu Prensibi (Interface Segregation Principle): Bir arayüz, sadece ilgili fonksiyonları içermelidir. Bu, yazılan kod için daha az bağlılık ve daha fazla esneklik sağlar.


D - Bağımlılık Ters Çevirme Prensibi (Dependency Inversion Principle): Yüksek seviyeli modüller, düşük seviyeli modüllere değil, soyut ara yüzlere bağlı olmalıdır. 


SOLID prensiplerini uygulamanın faydaları:


  1. Daha sağlam ve hatasız kod: SOLID prensiplerine uygun kod, daha az hata ve daha az karmaşıklık içerir.
  2. Daha okunabilir ve bakımı kolay kod: SOLID prensiplerine uygun kod, daha iyi anlaşılır ve daha kolay değiştirilebilir.
  3. Daha sürdürülebilir ve genişletilebilir kod: SOLID prensiplerine uygun kod, yeni fonksiyonlara ve değişikliklere daha açıktır.
  4. Daha az bağlılık ve daha fazla esneklik: SOLID prensiplerine uygun kod, daha az birbirine bağlı modüller ve daha fazla esneklik sağlar.


Yazılımda SOLID uygulamasını bir örnekle açıklayalım:

Diyelim ki bir e-ticaret uygulaması geliştiriyoruz. Bu uygulamada, ürünlerin listesini gösteren bir sınıf ve ürün detaylarını gösteren bir sınıf olsun.

Tek Sorumluluk Prensibi'ne göre, ürünlerin listesini gösteren sınıf sadece bu sorumluluğa sahip olmalıdır. Ürün detaylarını gösterme sorumluluğu ayrı bir sınıfa verilmelidir.

Açık/Kapalı Prensibi'ne göre, ürünlerin listesini gösteren sınıf yeni ürün filtreleme fonksiyonlarına açık olmalıdır. Fakat bu fonksiyonlar eklerken var olan fonksiyonlarda değişiklik yapılmamalıdır.

Liskov Yerine Koyma Prensibi'ne göre, ürünlerin listesini gösteren sınıfı kullanan diğer sınıflar, bu sınıfı herhangi bir alt sınıfıyla değiştirebilmelidir.

Arayüz Segregasyonu Prensibi'ne göre, ürünlerin listesini gösteren sınıf, sadece listelemeyle ilgili fonksiyonları içeren bir ara yüze bağlı olmalıdır.

Bağımlılık Ters Çevirme Prensibi'ne göre, ürünlerin listesini gösteren sınıf, ürün veritabanına doğrudan bağlı olmamalıdır. Veritabanı erişimi için soyut bir ara yüze bağlı olmalıdır.


SOLID prensiplerini öğrenmesi zaman alsa da bir kez kendinizi bu şekilde kod yazmaya alıştırdığınızda profesyonel seviyede yazılımlar üretme yeteneğine sahip olursunuz.

SOLID prensipleri, nesneye dayalı programlamada daha sağlam, okunabilir, sürdürülebilir ve bakımı kolay kod yazmak için önemli bir rol oynar. Bu prensipleri anlamak ve uygulamak, yazılım geliştirme sürecini ve kodun kalitesini önemli ölçüde iyileştirebilir.

Yorumlar

Bu blogdaki popüler yayınlar

ROAS Nedir? ROAS Nasıl Hesaplanır?

JavaScript ile TC No Üretelim

Javascript Kopyalama Kodu