Liskov Substitution
Weekly Dev Tips - A podcast by Steve Smith (@ardalis)
Categories:
This is episode 53, on the Liskov Substitution principle. The typical definition used today is that subtypes should always be substitutable for their base types. If this isn't the case, it likely means you have the wrong inheritance relationship, or your interface isn't cohesive enough, or there is some other code smell you should consider addressing through refactoring.