SOLID na vida real!
Fundamento das boas práticas
ETC - EASIER TO CHANGE
Como alcançar?
Bons Nomes
SOLID
Design Patterns
Por Que SOLID?
Dificuldade na testabilidade;
Código macarrônico sem estrutura ou padrão;
Dificuldades de isolar funcionalidades; -
Fragilidade, o código quebra facilmente em
vários pontos após alguma mudança.
Problemas reais
Systema de vendas de produtos
Calculo de taxas e impostos
S - Single-responsibility
Principle
S - Single-responsibility Principle
O - Open-closed Principle
Quando você tem que reescrever partes de uma
funcionalidade para adicionar novas features
O - Open-closed Principle
O - Open-closed Principle
O - Open-closed Principle
O - Open-closed Principle
O - Open-closed Principle
O - Open-closed Principle
O - Open-closed Principle
O - Open-closed Principle
O - Open-closed Principle
D - Dependency Inversion
Principle
D - Dependency Inversion Principle
D - Dependency Inversion Principle
D - Dependency Inversion Principle
D - Dependency Inversion Principle
D - Dependency Inversion Principle
L - Liskov Substitution
Principle
A classe/interface base, deve conter apénas o que
realmente será compartilhado com os seus
subtipos. A classe filha sempre podera se passar
pela classe pai.
L - Liskov Substitution Principle
L - Liskov Substitution Principle
L - Liskov Substitution Principle
L - Liskov Substitution Principle
L - Liskov Substitution Principle
L - Liskov Substitution Principle
L - Liskov Substitution Principle
I - Interface Segregation
Principle
I - Interface Segregation Principle
I - Interface Segregation Principle
I - Interface Segregation Principle
Dúvidas?

SOLID na Vida Real