İçeriğe geç

Liskov Substitution Principle nedir ?

Merhabalar bu yazımda yazılım prensiplerinden Liskov Substitution Principle hakkında bilgi vereceğim.

Bu prensip diğer prensiplere benzer olarak geleceğe yönelik kod yazarken bize yol göstermekte. Bunun en büyük önemi projeye eklenen yeni olaylar ile kodun kolay geliştirilmesi, okunabilirliği ve düzenlenmesi gibi sorunlara kolaylıklar sağlaması olmuştur.

Bu prensibimizin mantığında OCP yapısına benzemektedir. Bu prensiptede gelişime açık bir yapı kurgulanması gerekir. Bunun yanı sıra yarattığımız üst sınıflar, alt sınıflara kalıtım olurken burada kullanılacak tüm özelliklerin kullanılabilmesi gerekmekte. Yani hiç bir özellik boş boşuna kalıtım yolu ile alınmamalı ve çalışmalıdır.

Örneğin arabalar bir taşıttır. Ancak her arabanın özellikleri aynı değildir. Bazı arabalarda navigasyon bulunurken, bazı arabalarda bulunmaya bilir. Bu gibi durumlarda ortak olarak bu methodları tüm taşıt sınıfları için ortak yazarsak bu prensibimizin mantığına ters düşmüş oluruz.

Aşağıdaki yazdığım örnekteki gibi mesela.

Sahin sınıfı Car sınıfını kalıtım yolu ile aldığı zaman çalıştıramayacağı methodlarıda almış olur. Bu yapıyı prensibimize uyarlamamız için yapılarımızı ayırıp daha özel bir şekilde yazmamız gerekli yada Vehicle protokolünde bulunan methodları ve değişkenleri tüm arabalarda bulunacak özellikler olacak şekilde tasarlamamız gerekli. Örneğin (gaza bas, fren yap, araba hızı vs gibi bilgiler)

Tarih:Design Principles

Bu yazı yorumlara kapalı.

© 2019 Kenan Atmaca