SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
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?

Mais conteúdo relacionado

Semelhante a SOLID na Vida Real

qualidade de código: boas práticas, princípios e padrões
qualidade de código: boas práticas, princípios e padrõesqualidade de código: boas práticas, princípios e padrões
qualidade de código: boas práticas, princípios e padrões
edgarddavidson.com
 

Semelhante a SOLID na Vida Real (20)

Princípios SOLID
Princípios SOLIDPrincípios SOLID
Princípios SOLID
 
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 Lições aprendidas com a Re (escrita |design) de uma aplicação PHP  Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 
Revolução Go TDC 2016
Revolução Go TDC 2016Revolução Go TDC 2016
Revolução Go TDC 2016
 
Apres s4
Apres s4 Apres s4
Apres s4
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e Prática
 
Modelo Canônico: Vilão ou Mocinho?
Modelo Canônico: Vilão ou Mocinho?Modelo Canônico: Vilão ou Mocinho?
Modelo Canônico: Vilão ou Mocinho?
 
Workshop Bny Mellon
Workshop   Bny MellonWorkshop   Bny Mellon
Workshop Bny Mellon
 
Dojo solid
Dojo solidDojo solid
Dojo solid
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Princípios de Programação Orientada a Objetos Solid, dry e kiss
Princípios de Programação Orientada a Objetos Solid, dry  e kiss Princípios de Programação Orientada a Objetos Solid, dry  e kiss
Princípios de Programação Orientada a Objetos Solid, dry e kiss
 
como esta a arquitetura do seu app?
como esta a arquitetura do seu app?como esta a arquitetura do seu app?
como esta a arquitetura do seu app?
 
A trilogia Spring MVC + Spring Data + AngularJS
A trilogia  Spring MVC + Spring Data + AngularJSA trilogia  Spring MVC + Spring Data + AngularJS
A trilogia Spring MVC + Spring Data + AngularJS
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
qualidade de código: boas práticas, princípios e padrões
qualidade de código: boas práticas, princípios e padrõesqualidade de código: boas práticas, princípios e padrões
qualidade de código: boas práticas, princípios e padrões
 
[TDC 2015] Pretotyping: como construir "a coisa" certa antes de construir cer...
[TDC 2015] Pretotyping: como construir "a coisa" certa antes de construir cer...[TDC 2015] Pretotyping: como construir "a coisa" certa antes de construir cer...
[TDC 2015] Pretotyping: como construir "a coisa" certa antes de construir cer...
 
Fernando Melo- SLOW Networking - 12.02.15
Fernando Melo- SLOW Networking - 12.02.15Fernando Melo- SLOW Networking - 12.02.15
Fernando Melo- SLOW Networking - 12.02.15
 
TDC 2016 Trilha Testes - Floripa
TDC 2016 Trilha Testes - FloripaTDC 2016 Trilha Testes - Floripa
TDC 2016 Trilha Testes - Floripa
 
Ágil em escala salvando grandes projetos - TDC 2017
Ágil em escala salvando grandes projetos - TDC 2017Ágil em escala salvando grandes projetos - TDC 2017
Ágil em escala salvando grandes projetos - TDC 2017
 
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaTDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
 
Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...
Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...
Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...
 

Mais de Cristiano Cunha

Mais de Cristiano Cunha (20)

Documentação profissional com C4 Model - GDG Dev Fest 2023
Documentação profissional com C4 Model - GDG Dev Fest  2023Documentação profissional com C4 Model - GDG Dev Fest  2023
Documentação profissional com C4 Model - GDG Dev Fest 2023
 
C4 Model
C4 ModelC4 Model
C4 Model
 
Redis e Estratégias Cache Distribuído
Redis e Estratégias Cache DistribuídoRedis e Estratégias Cache Distribuído
Redis e Estratégias Cache Distribuído
 
Event Sourcing e CQRS
Event Sourcing e CQRSEvent Sourcing e CQRS
Event Sourcing e CQRS
 
Dicas de oratória para apresentações
Dicas de oratória para apresentaçõesDicas de oratória para apresentações
Dicas de oratória para apresentações
 
Introdução a Mensageria com RabbitMQ
Introdução a Mensageria com RabbitMQIntrodução a Mensageria com RabbitMQ
Introdução a Mensageria com RabbitMQ
 
Bancos De Dados NoSQL
Bancos De Dados NoSQLBancos De Dados NoSQL
Bancos De Dados NoSQL
 
Estrategias de Cache Distribuidos com Redis
Estrategias de Cache Distribuidos com RedisEstrategias de Cache Distribuidos com Redis
Estrategias de Cache Distribuidos com Redis
 
OTP - One Time Password
OTP - One Time PasswordOTP - One Time Password
OTP - One Time Password
 
Systemas Distribuídos
Systemas DistribuídosSystemas Distribuídos
Systemas Distribuídos
 
Cultura de testes
Cultura de testesCultura de testes
Cultura de testes
 
Git alem do basico
Git alem do basicoGit alem do basico
Git alem do basico
 
Programacao para nao programadores
Programacao para nao programadoresProgramacao para nao programadores
Programacao para nao programadores
 
Docker para quem tem preguica
Docker para quem tem preguicaDocker para quem tem preguica
Docker para quem tem preguica
 
Uma maravilha chamada vue.js
Uma maravilha chamada vue.jsUma maravilha chamada vue.js
Uma maravilha chamada vue.js
 
Seguranca para desenvolvedores
Seguranca para desenvolvedoresSeguranca para desenvolvedores
Seguranca para desenvolvedores
 
Git Além do básico
Git Além do básicoGit Além do básico
Git Além do básico
 
Boas praticas - Muito além de linhas de código
Boas praticas - Muito além de linhas de códigoBoas praticas - Muito além de linhas de código
Boas praticas - Muito além de linhas de código
 
Da para trabalhar com c# no linux?
Da para trabalhar com c# no linux?Da para trabalhar com c# no linux?
Da para trabalhar com c# no linux?
 
Testes unitários
Testes unitáriosTestes unitários
Testes unitários
 

SOLID na Vida Real