Liskov İkame Prensibi temel olarak uygulama mirasını fazla kullanmanıza izin vermez: mirası sadece kodun yeniden kullanımı için kullanmamalısınız (bunun için kompozisyon vardır)! LSP'ye bağlı kalarak, üst sınıfınız ve alt sınıfınız arasında bir "is-ilişki" olduğundan emin olabilirsiniz.
Söylediği şey, alt sınıflarınızın tüm alt sınıf yöntemlerini, alt sınıftaki yöntemlerin uygulanmasına benzer şekilde uygulaması gerektiğidir. Asla NOP uygulayan bir yöntemi geçersiz kılmamalı veya süper tip istisna atarken boş değer döndürmemelisiniz; Design by Contract koşullarında belirtilen bir yöntemi geçersiz kıldığınızda, yöntemin üst sınıftan sözleşmesine saygı göstermelisiniz. Bu ilkeyi çiğnemeye karşı savunmanın bir yolu, uygulanan bir yöntemi asla geçersiz kılmamaktır; bunun yerine bir arayüz çıkartın ve bu arayüzü her iki sınıfta da uygulayın.
Arayüz Ayrımı İlkesi , Tek Sorumluluk İlkesi ve GRASP'dan Yüksek Uyumluluk İlkesi bir şekilde ilişkilidir; Bir işletmenin sadece bir şeyden sorumlu olması gerektiği gerçeğine atıfta bulunur, böylece değişimin çok kolay bir şekilde yapılabilmesi için sadece bir sebep olabilir.
Aslında, eğer bir sınıf bir arayüz uygularsa, o zaman bu arayüzün bütün metotlarını uygulaması ve kullanması gerektiğini söyler. Belirli bir sınıfta gerekmeyen yöntemler varsa, arayüz iyi değildir ve sadece orijinal sınıfın ihtiyaç duyduğu yöntemlere sahip iki arayüze ayrılmalıdır. Uygulamalarının LSP'yi kırabilmesi için büyük arayüzler oluşturmanıza izin vermemesi gerçeğiyle, önceki prensip ile ilgili olan bir POV'den kabul edilebilir.
Fabrika Deseninde Bağımlılık İnversiyonunu görebilirsiniz ; burada hem yüksek seviye bileşen (müşteri) hem de düşük seviye bileşen (yaratılacak bireysel örnek) soyutlamaya bağlıdır.(arayüz). Katmanlı bir mimaride uygulamanın bir yolu: Uygulanan katmanda değil, adı verilen modülde bir katmana arabirim tanımlamamalısınız. Örneğin, veri kaynağı katmanına uygulanan API, veri kaynağı katmanına değil, çağrılması gereken iş mantığı katmanına yazılmalıdır. Bu şekilde, veri kaynağı katmanı, iş mantığında tanımlanan davranışa (dolayısıyla tersine çevirme) miras alır / bağlıdır ve bunun tersi olmaz (normal şekilde olduğu gibi). Bu, tasarımda esneklik sağlayarak iş mantığının herhangi bir kod değişikliği olmadan, tamamen farklı bir veri kaynağıyla çalışmasını sağlar.