Making the Most of Polymorphism with the Liskov Substitution Principle

Designing Subtypes in SOLID Code