SOLID é um acrônimo que consolida 5 itens que são considerados como boas práticas no mundo do desenvolvimento orientado a objetos.
Esses princicios surgiram pela primeira vez no livro (Agile Software Developmento) escrito por Robert C. Martin, também conhecido como Uncle Bob.
SRP => Single Responsibility Principle OCP => Open-closed Principle LSP => Liskov Substitution Principle ISP => Interface Segregation Principle DIP => Dependency Inversion Principle
Principio da Responsabilidade Única
- Significa que uma classe deve ter apenas uma responsabilidade.
- Uma classe deve ter apenas um, somente um motivo para mudar.
Princípio Aberto-fechado
- Significa que uma classe deve estar aberta para extensão e fechada para modificação.
Princípio da Substituição de Liskov
- Criado por Barbara Liskov
- Subclasses podem ser substituidas por suas classes pai
Princípio de Segregação de Interface
- Uma classe não é obrigada a implementar interfaces que ela não utilizará
Princípio de Inversão de Dependência
- Dependa de abstrações e não de implementações (classes concretas)
- Inverta as dependencias