Dando início ao quarto post da série sobre SOLID, vamos falar um pouco sobre Liskov Substitution Principle.
Se você ainda não leu os outro posts da série, vou deixar os links aqui para que o faça.
- O que é SOLID?
- O que é e como aplicar Dependency Inversion Principle
- O que é e como Interface Segregation é aplicada no Go
Liskov Substitution, dos cinco princípios do SOLID, talvez seja o mais simples para se aplicar. Vamos relembrar o que diz esse princípio.
Classes “filhas” podem ser utilizadas no lugar das classes “pais” sem que o programa quebre. Em outras palavras, uma classe filha, mesmo com suas especificidades, deve manter o mesmo comportamento da classe pai.
Aqui, antes de continuar, vale fazer duas observações.
- Não existe orientação a objetos em Go, logo não temos classes.
- Como não temos classes, não temos herança.
Nesse momento você deve estar se perguntando. Se não temos classes e nem herança, como podemos aplicar esse princípio no Go?
Simples! Onde o princípio diz classe, pense em structs. Já onde diz herança, pense na técnica de embedding.
Ok! Agora que estamos alinhados, voltemos ao princípio.
Leia mais »
