Bu, insanların Liskov Altyazı İlkesini ihlal etmeye nasıl karar verdiğinin klasik bir örneğidir. Kesinlikle ciddiye almıyorum ama muhtemelen farklı bir çözümü teşvik ediyorum:
- Belki de yazdığınız sınıf, arayüzün tüm üyelerini kullanmıyorsa, arayüzün öngördüğü işlevleri sağlamıyordur.
- Alternatif olarak, bu arayüz birçok şey yapıyor olabilir ve Arabirim Ayrıştırma İlkesi uyarınca ayrılabilir.
İlki sizin için geçerliyse, arayüzü o sınıfa uygulamayın. Bunu, toprak deliğinin gereksiz olduğu bir elektrik prizi gibi düşünün, böylece gerçekten toprağa yapışmaz. Toprağa takılan hiçbir şey yapmıyorsunuz ve hiçbir şey yapmıyorsunuz! Fakat bir yere ihtiyacı olan bir şeyi kullanır kullanmaz - muhteşem bir başarısızlıkta bulunabilirsiniz. İçinde sahte bir delik açmamak daha iyidir. Bu nedenle, sınıfınız aslında arabirimin amaçladığı şeyi yapmazsa, arabirimi uygulamayın.
İşte wikipedia'dan birkaç hızlı bit:
Liskov Değiştirme Prensibi , "Ön koşulları güçlendirmeyin ve post-koşulları zayıflatmayın" olarak formüle edilebilir.
Daha resmi olarak, Liskov ikame prensibi (LSP), başlangıçta Veri soyutlama ve hiyerarşi başlıklı 1987 konferansı açılış konuşmasında Barbara Liskov tarafından tanıtılan (güçlü) davranış alt tipi olarak adlandırılan alt tiplendirme ilişkisinin özel bir tanımıdır. Bu sadece sözdizimsel bir ilişki değil anlamsal bir ilişkidir, çünkü hiyerarşideki türlerin anlamsal birlikte çalışabilirliğini garanti etmeyi amaçlamaktadır , [...]
Anlamsal birlikte çalışabilirlik ve aynı sözleşmelerin farklı uygulamaları arasındaki ikame için - aynı davranışları yerine getirmeleri için hepsine ihtiyacınız var.
Arabirim Ayrıştırma İlkesi , arabirimlerin tek bir tesis istediğinizde pek çok farklı şey yapan bir arabirime ihtiyaç duymayacak şekilde uyumlu kümelere ayrılması gerektiği fikrinden bahseder . Bir elektrik prizinin arayüzünün Tekrar düşün, o olabilir aynı zamanda bir termostat var, ama zor bir elektrik soketi yüklemek ve dışı ısıtma amaçlı kullanılması daha zor bunu yapabilir hale getirecektir. Termostatlı bir elektrik soketi gibi, büyük arayüzlerin uygulanması zor ve kullanımı zordur.
Arayüz ayrıştırma ilkesi (ISS), hiçbir müşterinin kullanmadığı yöntemlere bağlı kalmaya zorlanmaması gerektiğini belirtmektedir. [1] ISS, daha küçük ve daha özel olanlara kadar büyük ara yüzleri böler; böylece müşterilerin yalnızca ilgilendikleri yöntemleri bilmeleri gerekir.