
SOLID: Liskov Substitution Principle
Most of the time when building systems using OOP, we're looking to use composition over inheritance, however, when the need is there to use inheritance it's advisable that it's done using the LSP. The Goal of this principle is to prevent our old codebase from breaking due when doing inheritance.