Repository for studies of the 5 principles known as SOLID
SOLID ?
Repositório para estudos dos 5 princípios conhecidos como SOLID.
O que é SOLID?
SOLID é um acrônimo dos cinco primeiros princípios da programação orientada a objetos e design de código identificados por Robert C. Martin (também conhecido como Uncle Bob) por volta do ano 2000. O acrônimo SOLID foi introduzido por Michael Feathers, após observar que os cinco princípios poderiam se encaixar nesta palavra.
- S – SRP – Single Responsability Principle (Princípio da responsabilidade única)
- O – OCP – Open-Closed Principle (Princípio Aberto-Fechado)
- L – LSP – Liskov Substituition Principle (Princípio de substituição do Liskov)
- I – ISP – Interface Segregation Principle (Princípio da Segregação da Interface)
- D – DIP – Dependency Inversion Principle (Princípio da inversão da dependência)
SRP – Single Responsability Principle ✨
Uma classe deve ter um, e somente um, motivo para existir.
OCP – Open-Closed Principle ✨
Você deve ser capaz de estender um comportamento de uma classe, sem modificá-lo.
LSP – Liskov Substituition Principle ✨
As classes bases devem ser substituídas por suas classes derivadas.
ISP – Interface Segregation Principle ✨
Muitas interfaces específicas são melhores do que uma interface única.
DIP – Dependency Inversion Principle ✨
Dependa de uma abstração e não de uma implementação.
? Vantagens da aplicação destes princípios:
- Seja fácil de manter, adaptar e se ajustar as alterações de escopo.
- Seja testável e de fácil entendimento.
- Seja extensível para alterações com o menor esforço necessário.
- Que forneça o máximo de reaproveitamento.
- Que permaneça o máximo de tempo possível em utilização.
O que você evita utilizando SOLID:
- Dificuldade na testabilidade/criação de testes de unidade.
- Código macarrônico, sem estrutura ou padrão.
- Dificuldades de isolar funcionalidades.
- Duplicação de código, uma alteração precisa ser feita em N pontos.
- Fragilidade, o código quebra facilmente em vários pontos após algumas mudanças.