Che cos'è liskov-substitution-principle?
Da utilizzare durante la creazione di sottoclassi o l'implementazione di interfacce. Da utilizzare quando si tenta di sovrascrivere i metodi con eccezioni o no-op. Da utilizzare quando la gerarchia dell'ereditarietà sembra sbagliata. Fonte: yanko-belov/code-craft.