LOADING
post-image

O SOLID é um conjunto de princípios que tornam o código mais legível, manutenível e escalável. Se você desenvolve com orientação a objetos, entender SOLID vai transformar sua forma de programar. Neste post, vamos descomplicar cada princípio com explicações simples e exemplos práticos. Vamos nessa?

1. S — Single Responsibility Principle (Responsabilidade Única)Uma classe deve ter apenas uma única responsabilidade e, portanto, uma única razão para mudar.

✔ Bom exemplo:

Uma classe RelatorioFinanceiro que só gera relatórios.

❌ Mau exemplo:

Uma classe que gera relatório, envia por e-mail e salva no banco de dados.

🧠 Dica: se sua classe faz mais de uma coisa, talvez esteja na hora de dividir em partes menores.

2. O — Open/Closed Principle (Aberto/Fechado)“Entidades devem estar abertas para extensão, mas fechadas para modificação.”

Ou seja, você deve conseguir adicionar novos comportamentos sem alterar o código existente.

✔ Bom exemplo:

Uma interface Pagamento com várias implementações (Cartao, Pix, Boleto) que podem ser usadas sem mudar a lógica principal.

🧠 Dica: use interfaces e abstrações!

3. L — Liskov Substitution Principle (Substituição de Liskov)Objetos de uma classe derivada devem ser substituíveis por objetos da classe base sem quebrar o sistema.

❌ Mau exemplo:

Uma classe Pato e uma subclasse PatoDeBorracha que sobrescreve o método voar() para lançar exceção.

✔ Correto:

Use uma interface Voavel apenas onde voar faz sentido.

4. I — Interface Segregation Principle (Segregação de Interface)Nenhuma classe deve ser forçada a depender de métodos que não usa.

✔ Bom exemplo:

Interfaces pequenas e específicas, como IImprimivel, ISerializavel, etc.

❌ Mau exemplo:

Uma interface gigante chamada IServicoGeral com 10 métodos onde cada classe implementa só 2 ou 3.

5. D — Dependency Inversion Principle (Inversão de Dependência)Dependa de abstrações, não de implementações.

Em vez de instanciar diretamente suas dependências com new, você injeta elas via construtor, factory ou injeção de dependência.

✔ Bom exemplo:

ts

CopiarEditar

constructor(private pagamentoService: PagamentoServiceInterface) {}

🧠 Dica: isso facilita testes, troca de implementações e mantém seu código desacoplado.

🎯 Conclusão

Os princípios SOLID não são regras rígidas, mas guias que te ajudam a escrever código mais limpo e sustentável.Comece aplicando aos poucos — quanto mais você pratica, mais natural eles se tornam.

Se curtiu esse conteúdo, compartilha com alguém que tá querendo escrever código melhor! 🚀