O documento discute os princípios SOLID, DRY e KISS para programação orientada a objetos. SOLID é um acrônimo para cinco princípios: responsabilidade única, aberto-fechado, substituição de Liskov, segregação de interface e inversão de dependência. DRY significa "não se repita" e KISS significa "mantenha simples, estúpido". Os exemplos demonstram códigos bons e ruins baseados nestes princípios.
1. SOLID, DRY & KISS
Princípios de POO
Apresentação 3
Daniel Christofolli
2. 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 (ou 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.
3. S SRP Princípio da Responsabilidade Única
Uma classe deve ter um, e somente um, motivo para mudar.
O OCPPrincípio Aberto-Fechado
Você deve ser capaz de estender um comportamento de uma
classe, sem modificá-lo.
L LSP Princípio da Substituição de Liskov
As classes base devem ser substituíveis por suas classes
derivadas.
I ISP Princípio da Segregação da Interface
Muitas interfaces específicas são melhores do que uma
interface única.
D DIP Princípio da inversão da dependência
Dependa de uma abstração e não de uma implementação.
13. Interface Segregation Principle
Princípio da Segregação de Interface
Muitas interfaces específicas são melhores do que
uma interface geral.
Uma interface deve ser enxuta, com poucos
comportamentos
14. Código ruim, pois está usando a interface
da forma errada
ISP - Código Ruim
16. Dependency Inversion Principle
Princípio da inversão de dependências
Devemos “depender de abstrações e não de classes
concretas”.
● “Módulos de alto nível não devem depender de
módulos de baixo nível.”
● “As abstrações não devem depender de detalhes.
Os detalhes devem depender das abstrações.”
19. DRY
Do not Repeat Yourself
● Cada parte do conhecimento deve ter uma representação
única, não ambígua e definitiva dentro do sistema.
● Menos código é bom: economiza tempo e esforço, é fácil
de manter e também reduz as chances de erros.
22. KISS
Keep It Simple, Stupid
Vantagens:
● Você será capaz de resolver mais problemas e com ainda mais eficiência;
● Você será capaz de produzir scripts que resolvem problemas complexos com
poucas linhas de código;
● Seus códigos terão muitos mais qualidade;
● Você será capaz de construir grandes sistemas fáceis de manter;
● Sua base de código será mais flexível, fácil para estender, modificar ou
refatorar quando novas funcionalidades forem solicitadas;
● Você será capaz de produzir mais do que já imaginava como um developer;
● Você será capaz de trabalhar em grandes grupos de desenvolvimento e em
grandes projetos desde que todos mantenham os códigos estupidamente
simples.
23. KISS
Keep It Simple, Stupid
Resumo
Os melhores algoritmos são muitas vezes aqueles com
poucas linhas de código. E quando lemos o código linha a
linha, podemos facilmente entender o que está sendo feito. A
inovação consiste em quebrar o problema cada vez mais em
problemas menores a ponto de eles ficarem muito fáceis de
entender e implementar. Muitos dos grandes solucionadores
de problemas de códigos não são excelentes codificadores,
mas eles ainda produzem um excelente (simples) código.