KategorilerNesne Yönelimli ProgramlamaProgramlama PrensipleriYazılım Mimarisi

Dependency Inversion Prensibi Örnekli Anlatım

SOLID prensilerinin “D”si, Dependency Inversion Prensibi (DIP) yani Bağımlılıkları Tersine Çevirme Prensibi SOLID prensiplerinin sonuncusudur. Dependency Inversion Prensibi yüksek seviye modüllerin düşük seviye modüllere bağımlı olmaması gerektiğini, bunun yerine ikisinin de soyutlamalara(abstractions) bağlı olması gerektiğini söylüyor.

Bu prensip loose coupling(gevşek bağlılık) denen prensibe dayanıyor, bunu da yüksek seviye ve düşük seviye sınıflar arasında soyut bir katman oluşturarak yapıyor.

KategorilerNesne Yönelimli ProgramlamaProgramlama PrensipleriYazılım Mimarisi

Interface Segregation Prensibi Örnekli Anlatım

SOLID prensiplerinin “I”si, Interface Segregation Prensibi(ISP) yani Arayüz Ayırma Prensibi bir Interface’in(arayüzün) onu kullanan Class’ların(sınıfların) ihtiyaçlarına göre bölünmesi gerektiğini anlatan tasarım prensibidir. Prensibin amacı sınıfların ihtiyacı olmayan metotları içermek zorunda kalmamasıdır.

Daha basit bir şekilde ifade etmek gerekirse, Interface Segregation Prensibine göre bir Interface öyle bir şekilde tasarlanmalı ki bu Interface‘i kullanan sınıfların sadece ihtiyaçları olan metotları uygulamaları gereksin, ihtiyaçları olmayan metotları barındırmak zorunda olmasın.

KategorilerNesne Yönelimli ProgramlamaProgramlama PrensipleriYazılım Mimarisi

Liskov Substitution Prensibi Örnekli Anlatım

SOLID prensiplerinin “L”si olan Liskov Substitution Prensibi(LSP) yani Liskov Yerine Geçme Prensibi ilk olarak Barbara Liskov tarafından 1987 yılında bir konferansta tanıtıldı. Bu prensibe göre B sınıfı eğer A sınıfının alt sınıfıysa A sınıfının objeleri B sınıfının objeleriyle programın çalışmasında herhangi bir değişiklik yaratmadan yer değiştirebilir.

Biliyorum biraz karışık görünüyor bu şekilde anlatınca, daha basit bir şekilde söylemek gerekirse eğer iki sınıf arasında ebeveyn-çocuk ilişkisi yani bir kalıtım varsa ve biz çocuk sınıftan ürettiğimiz bir nesneyi ebeveyn sınıftan ürettiğimiz bir nesneyle değiştirebiliyor ve program çalışması beklendiği gibi sürdürülebiliyorsa, o zaman Liskov Substitution Prensibine uyuyor diyebiliriz.

KategorilerNesne Yönelimli ProgramlamaProgramlama PrensipleriYazılım Mimarisi

SOLID nedir? SOLID Prensipleri Nelerdir?

SOLID nedir? Yazılım mülakatlarının vazgeçilmez sorusu. Birçoğunuzun da bildiği gibi SOLID nesne yönelimli tasarımı daha anlaşılır, esnek ve sürdürülebilir hale getirmek için ortaya çıkan 5 tasarım prensibinin isimlerinin baş harflerinden oluşturulan bir kısaltmadır.

Bu prensipler ilk olarak 2000 yılında “Design Principles and Design Patterns” isimli makale ile Amerikalı yazılım mühendisi ve eğitmen olan Robert C. Martin tarafından yazılım dünyasına tanıtılan tasarım prensiplerinin bir alt kümesidir.

SOLID kısaltması ise daha sonra 2004 yılında Michael Feathers tarafından ortaya atılmıştır.

Peki nedir bu prensipler?