SlideShare uma empresa Scribd logo
CONTRA1a jornada de um desenvolvedor de princípios SOLID
contra o impulso de usar muitos padrões ou não pensar sobre elesUM
@helmedeiros
senta que lá vem
história…
framework
MV*
princípios
design patterns
a-gi-li-ty
|əˈjilitē|
Consiste em criar software em
incrementos minúsculos.
como projetar um…
Software que tenha boa estrutura?
Software que seja flexível?
Software passível de manutenção?
Software que seja reutilizável?
who knows
who knows
who knows
who knows
Se você cria em incrementos minúsculos,
não vai perder a visão global?
projeto ágil
maus cheiros
princípios
projeto de software

um conceito abstrato
software project
|ˈsôftˌwe(ə)r ˈpräjˌekt, -ikt|
Relacionado à forma e estrutura global
do programa, assim como o detalhe
de cada módulo, classe e método.
Se tiver sorte, você começa um
projeto com uma ideia clara de
como deseja que o sistema seja. Se
tiver mais sorte ainda, a primeira
versão reflete a imagem do projeto.
projeto ágil
maus cheiros
princípios
algo dá errado

o software começa a apodrecer
como podemos detectar…
os problemas antes ou no último momento responsável?
sem exagerar nas precauções?
permitindo mudar?
RIGIDEZ: É difícil de alterar o
projeto.1
FRAGILIDADE: O projeto
(design) é fácil de estragar.2
IMOBILIDADE: É difícil
reutilizar o projeto.3
VISCOSIDADE: É difícil fazer a
coisa certa.4
COMPLEXIDADE DESNECESSÁRIA:
Projeto excessivo.5
REPETIÇÃO DESNECESSÁRIA:
Abuso do mouse.6
OPACIDADE: Expressão
desorganizada.7
por que o software apodrece…
mudanças não previstas
mudanças para ontem
desenvolvedor desconhece a filosofia inicial do projeto
requisitos sempre mudam

nossos projetos e práticas estão errados
projeto ágil
maus cheiros
princípios
aplicação continua

para melhorar a estrutura e legibilidade do software
iterativamente visando…
simplicidade no código
limpeza do código
expressividade do código
moderado
moderado
moderado
SRP: Princípio da
responsabilidade únicaS
OCP: Princípio do Aberto/
FechadoO
LSP: Princípio de substituição
de LiskovL
ISP: Princípio da Segregação
de InterfaceI
DIP: Princípio da inversão de
DependênciaD
“  as  equipes  ágeis  aplicam  os  princípios  apenas  para  
resolver  maus  cheiros.  Eles  não  são  um  perf9me  que  
deve  ser  bor<ifado  por  todo  o  sistema.  “  
- Robert C. Martin
CONTRA1a jornada de um desenvolvedor de princípios SOLID
contra seu impulso de usar muitos padrões ou não pensar sobre elesUM
@helmedeiros

Mais conteúdo relacionado

PDF
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services
PPTX
TDC 2012 - Fishbowl conversation sobre Arquitetura
PPT
Fundamentos de Sistemas de Informacao - Aula #14 2009_2
PPT
Fundamento de Sistemas de Informacao - Aula 24
PDF
aGITe antes de versionar
PPTX
7 Dicas para Desenvolvedores e Designers em um projeto
PDF
Search: Explorando Todo O Poder das Buscas - Liferay Symposium Brasil 2015, S...
PDF
Onde nenhum desenvolvedor jamais testou: Introduzindo testes unitários em cód...
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services
TDC 2012 - Fishbowl conversation sobre Arquitetura
Fundamentos de Sistemas de Informacao - Aula #14 2009_2
Fundamento de Sistemas de Informacao - Aula 24
aGITe antes de versionar
7 Dicas para Desenvolvedores e Designers em um projeto
Search: Explorando Todo O Poder das Buscas - Liferay Symposium Brasil 2015, S...
Onde nenhum desenvolvedor jamais testou: Introduzindo testes unitários em cód...

Semelhante a Um desenvolvedor com princípios SOLID (20)

PPTX
Potencializando a qualidade de código
PPTX
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
PDF
qualidade de código: boas práticas, princípios e padrões
PPTX
Princípios SOLID
PDF
Softwares que Duram: Uma abordagem Arquitetônica
PPTX
Boas práticas e os princípios de qualidade em código
PDF
Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...
KEY
Anti-patterns
PDF
PROJETO DE SOFTWARE
PDF
Fisl 16 - Proteja sua aplicação de você mesmo
PDF
Boas práticas de programação - Princípios SOLID
PPTX
Estudos Technocorp
PDF
[CEFETMG][ESw] Aula 6 - Conceitos de projeto
PPS
Projeto de Software
PPTX
Princípios SOLID
PDF
PPTX
SOLID - Clean Architecture
PPTX
Programação de Elite - Requisito dado é código implementado
PPTX
Introdução ao TDD
PDF
Engenharia de Software: A ponte para um código sustentável
Potencializando a qualidade de código
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
qualidade de código: boas práticas, princípios e padrões
Princípios SOLID
Softwares que Duram: Uma abordagem Arquitetônica
Boas práticas e os princípios de qualidade em código
Pragmatismo e Padroes - Um limiar tenue entre o sucesso e o fracasso do seu p...
Anti-patterns
PROJETO DE SOFTWARE
Fisl 16 - Proteja sua aplicação de você mesmo
Boas práticas de programação - Princípios SOLID
Estudos Technocorp
[CEFETMG][ESw] Aula 6 - Conceitos de projeto
Projeto de Software
Princípios SOLID
SOLID - Clean Architecture
Programação de Elite - Requisito dado é código implementado
Introdução ao TDD
Engenharia de Software: A ponte para um código sustentável
Anúncio

Mais de Hélio Medeiros (20)

PDF
Team building - Workshop - ThoughtWorks Away Day 2018
PDF
Team building praticas e atividades
PDF
Historias, hipoteses e metricas aprendendo no dia a dia
PDF
Team building - Software depende de relacionamento
PDF
Continuidade de times - quando os relacionamentos contam?
PDF
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
PDF
Faça Frameworks, Não faça refens
PDF
Feature injection - descobrindo e entregando valor testável
PDF
Growth hacking - customer lifecycle na pratica
PDF
Tdc growth hacking-customer lifecycle na pratica
PDF
Feature Injection - Descobrindo e entregando valor testável
PDF
RBS QCon São Paulo 2014 REVIEW
PDF
Git that like a boss - Colaborando com GITHUB
PDF
Git that like a boss - Dos comandos básicos aos branches.
PDF
Treinamento git - Papos RBSDev
PDF
RBS Agile Brazil Review - Managing dojo
PDF
RBS Agile Brazil 2013 Review - HotSpot
PDF
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...
PDF
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
PDF
Lançando versões em um clique - deploy contínuo
Team building - Workshop - ThoughtWorks Away Day 2018
Team building praticas e atividades
Historias, hipoteses e metricas aprendendo no dia a dia
Team building - Software depende de relacionamento
Continuidade de times - quando os relacionamentos contam?
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
Faça Frameworks, Não faça refens
Feature injection - descobrindo e entregando valor testável
Growth hacking - customer lifecycle na pratica
Tdc growth hacking-customer lifecycle na pratica
Feature Injection - Descobrindo e entregando valor testável
RBS QCon São Paulo 2014 REVIEW
Git that like a boss - Colaborando com GITHUB
Git that like a boss - Dos comandos básicos aos branches.
Treinamento git - Papos RBSDev
RBS Agile Brazil Review - Managing dojo
RBS Agile Brazil 2013 Review - HotSpot
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
Lançando versões em um clique - deploy contínuo
Anúncio

Último (19)

PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Processos na gestão de transportes, TM100 Col18
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Apple Pippin Uma breve introdução. - David Glotz
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
COBITxITIL-Entenda as diferença em uso governança TI
Processos na gestão de transportes, TM100 Col18
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Custos e liquidação no SAP Transportation Management, TM130 Col18
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Aula 18 - Manipulacao De Arquivos python
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula04-Academia Heri- Tecnologia Geral 2025
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26

Um desenvolvedor com princípios SOLID