/solid-alura

Curso da aplicação dos princípios do SOLID

Primary LanguageJava

Solid Alura

Na programação de computadores orientada a objetos, o termo SOLID é um acrônimo para cinco postulados de design, destinados a facilitar a compreensão, o desenvolvimento e a manutenção de software.

Princípios do SOLID

S → Single Responsability Principle

Separar uma classe, em várias pequenas classe para o seu código ter “coesão” e a classe ter uma única responsabilidade, assim uma hora que precisar dar manutenção será algo muito mais fácil.

“Uma classe deveria ter apenas um único motivo para mudar” - Uncle Bob

O → Open Closed Principle

Não precisamos alterar um método para adicionar uma nova validação ou um novo trecho de código. Assim a chance de quebrar algo é muito menor.

“Entidades de software (classes, módulos ,funções, etc.) devem estar abertas para extensão, porém fechadas para modificação” - Bertrand Meyer

L → Liskov Substitution Princple

Se parece um pato, faz quack igual um pato, mas precisa de bateria. Então provavelmente você está utilizando abstração errado.

“Se q(x) é uma propriedade demonstrável dos objetos x de tipo T, então q(y) deve ser verdadeiro para objetos y de tipo S, onde S é um subtipo de T.” - Barbara Liskov

I → Integration Segregation Principle

Segregação de interface, tem vezes que vamos implementar uma interface que não faz sentido para nosso contexto.

“Uma classe não deveria ser forçada a depender de métodos que não utilizará.” - Robert (Uncle Bob) Martin

D → Dependency Inversion Principle

Quer colocar lá uma lâmpada no quarto, você não pega um fio e solda diretamente na tomada. Não é dessa maneira que você faz.

“Abstrações não devem depender de implementações. Implementações devem depender de abstrações.” - Robert (Uncle Bob) Martin

🧐 Autor

Bruno Ribeiro