Liskov İkame Prensibi'nin kendisinin özellikle söylediği önemli mi? Bir alt tip, üst tipin tüketicisinin beklentilerini ihlal ederse, LSP'nin daha kısıtlayıcı olup olmadığına bakılmaksızın kötü bir şey gibi görünüyor.
Benim görüşüme göre, bir soyutlama tüketicisinin tüm makul beklentilerinin alt tip tarafından yerine getirilip getirilmediği LSP'nin iyi bir genellemesi gibi görünmektedir.
Bununla birlikte, genel olarak Java arayüzleri yayınladığınız örnekte, Thing
arayüz tüketicisinin hızlı mı yoksa yavaş mı olacağı konusunda makul bir beklentisi olduğu açık değildir . Arayüzün javadokları, hangi işlemlerin hızlı olacağına dair söz verilecek dili içerecekse, performans gerekçesiyle bir sorun için bir argüman olabilir. Ancak Java sözleşmesi kesinlikle çeşitli uygulamaların farklı performans özelliklerine sahip olması içindir.
GetThingFromDatabase()
bunu tartışmalı kılacak kadar yavaş değil.Factor4096BitPublicKey();return 1;
işleri biraz daha ilginç hale getirir.