Bilgi Akışı

SOLID Prensipleri

Herkese merhabalar, bu yazıda SOLİD prensiplerine değineceğim.

Her projede olduğu gibi yazılım projelerinde de sürecin yönetilmesi ve sürdürülmesi oldukça önemlidir. Ancak yazılım projelerinin diğer projelerden farkı genişletilebilir ve güncellenebilir yapıda olması çok önemlidir. Bir örnek vererek açıklayayım, mesala bir inşaat projesini düşünelim bu proje oldukça uzun vadelidir değil mi? Ve bu projede bir kere temel atıldı mı onu değiştirmek neredeyse imkansızdır. Ama yazılım projelerinde süreç böyle işlemez, nasıl yani?. Yani demek istediğim projenin ortasına geldiğimizde hiç hesapta olmayan bazı olayları yazılımımızın içeriğini hiç bozmadan ekleyebilmeliyiz. İşte bu eklemelerden sonra kodda herhangi bir bozulma olmaması için yazılım geliştiriciler ismi baş harflerinde oluşan 5 prensibi ortaya atmışlar SOLİD’di.

1.Prensip: Single-responsibility principle(Tek Sorumluluk Prensibi)

Bu prensip derki; yazılım geliştirirken her sınıfın, her bloğun, her metodun, yanlızca bir görevi vardır. Hiç bir zaman bir metodun veya bloğun içinde 2 farklı iş yapılmaz.

2.Prensip: Open-closed principle(Açık-Kapalı Prensibi)

Bu prensip derki; yazılımlar yeni özellikler eklemeye açık ve eski özellikleri değiştirmeye kapalı olmalıdır. Yani programa bir özellik eklendiği zaman hiç bir şekilde eski koda dokunamazsın.

3.Prensip: Liskov’s Substitution principle

Bu prensip derki; projelerimizde birbirlerine benzeyen nesneler olsa dahi bunları birbilerinin yerlerine kullanma. Örnek vermek gerekirse banka yazılımında normal müşteri ile tüzel müşteriyi birbirinden ayrı tut, ikisinide tek bir müşteri sınıfında kullanma

4.Prensip: Interface segregation principle(Arayüzlerin Ayrımı Prensibi)

Bu prensip derki; Interfacelerimizin içinde yazdığımız gövdesiz metodları birbirleri ile ilgisiz ise ayırın. Mesala çalışan interfacesi’nin içinde maaş metodu ile yemek metodunu ayrı interfacelerde tanımlayın. Eğer ki ileride çalışanlarımızda yemek yemeyen çalışan olursa o interfacenin içinde ki metodları uygulamak zorunda kalmasın.

5.Prensip: Dependency Inversion Principle,

Bu prensip derki; yüksek seviyeli sınıfların düşük seviyeli sınıfları soyut halleriyle kullanmasıdır. Bu da bağımlılığın düşmesini sağlamaktadır. Yani siz bir sınıfı bir interfaceden implemte ettiğinde onu kendi sınıf ismi türünden kullanmak yerine implemente ettiği sınıfın türünden new’leyin

Biz YBS’ciler olarak yazılım oluşturma ve sürdürülebilirlik yönetimi kodu yazmak kadar önemli olduğunu bilmemiz gerekir, bunun yolu da solidi anlamaktan geçiyor eğer buradan anlamadıysanız youtube de vidolar izleyerek pekiştirebilirsiniz.

Yazar

İlgili Makaleler

Bir Cevap Yazın

Başa dön tuşu
%d blogcu bunu beğendi: