SlideShare uma empresa Scribd logo
E o solid?
Hello!Evelise Vazquez - Desenvolvedora Front-end na equipe Labs
Eu vim de Santos, fã de Charlie Brown e péssima jogadora de DOOM
nas horas vagas
Medium e Twitter - @EveliseVazquez
2
SOLID é um acrônimo criado por
Michael Feathers que representa
os 5 princípios da programação
orientada a objetos identificados
por Robert Cecil Martin ou Uncle
Bob nos princípios de 2000.
3
S.Single Responsibility Principle
4
× A classe deve ter somente um motivo para ser
modificada.
× Cada responsabilidade deve ser uma classe e
cada classe deve ter uma única
responsabilidade.
5
6
Classe com muitas responsabilidades:
× Validar dados do cliente
× Gerar Imposto
× Salvar cupom fiscal
× Imprimir cupom fiscal
× Enviar cupom por email
5 responsabilidades =>
5 motivos para ser
modificada.
7
× A falsa impressão de que o sistema está sendo
construído de forma prática e simples, por
conter poucas classes para manutenção.
× A medida que o sistema cresce, a dificuldade
aumenta.
8
9
10
× Facilidade de manutenção
× Código limpo e de fácil entendimento
× Redução do acoplamento (dependências)
× Complexidade reduzida
× Coesão das classes
11
O.Open Closed Principle
12
Você deve ser capaz de
estender um
comportamento de uma
classe sem a necessidade
de modificá-lo
13
× Abertas para extensão, fechadas para
modificação
× Modificação através de: herança, interface ou
composição
14
15
16
A ideia é criarmos novas classes para
funcionalidades de tipos
semelhantes
17
18
Fechada
Aberta
L.Liskov Substitution Principle
19
As classes derivadas devem
ser substituíveis por suas
classes bases
20
21
22
Não faz sentido essa
extensão
23
I.Interface Segregation Principle
24
Classes não devem ser
forçadas a depender de
interfaces que elas não
usam.
25
26
27
Interfaces que têm muitos
comportamentos , além de quebrar
o primeiro princípio de Single
Responsability, dificulta a
manutenção do código
28
29
× Separando cada interface com a sua
responsabilidade única.
× Caso eu precise adicionar uma nova
funcionalidade no celular, eu vou alterar
apenas uma classe.
30
D.Dependency Inversion Principle
31
Dependa de abstrações e
não de implementações.
32
× Depender de abstrações facilita a mudança
por conter menos alterações do que uma
classe.
33
34
35
Eu ODEIO
mexer
no seu
código
Você não
segue o SOLID
36
× A ideia de usar o SOLID é ideal para manter
uma arquitetura de código legível e de fácil
manutenção
× Por ser um padrão, qualquer pessoa que
entra em contato com o projeto consegue
caminhar sozinha
37

Mais conteúdo relacionado

DOCX
Ficha 9. tatiana martins cef3
PPTX
Princípios SOLID
PPT
Dojo solid
PPTX
Orientação a Objetos e SOLID
PDF
PPTX
Princípios SOLID
PPTX
SOLID - Teoria e Prática
PPTX
Ficha 9. tatiana martins cef3
Princípios SOLID
Dojo solid
Orientação a Objetos e SOLID
Princípios SOLID
SOLID - Teoria e Prática

Semelhante a SOLID - Clean Architecture (20)

PDF
SOLID na Vida Real
PPTX
Código Limpo
PDF
Princípios S.O.L.I.D.
PDF
SOLID a 6 mãos
PPTX
IMaster Developer Week RJ - Qualidade de software: SOLID/DDD
PPTX
Estudos Technocorp
PPTX
Software robusto e flexível
PDF
Boas práticas de programação - Princípios SOLID
PDF
SOLID.pptx.pdf
PDF
Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Progra...
PPTX
SOLID Os princípios da linguagem orientada a objeto
PDF
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
PPT
Orientação a Objetos - Princípios SOLID
PDF
Apresentação WTM
PDF
Princípios de Programação Orientada a Objetos Solid, dry e kiss
PDF
principios_SOLID_resumo.pdf
PDF
Solid / DRY Princípios
PDF
Desenvolvendo Aplicações SOLID
PDF
qualidade de código: boas práticas, princípios e padrões
PPTX
Princípios SOLID
SOLID na Vida Real
Código Limpo
Princípios S.O.L.I.D.
SOLID a 6 mãos
IMaster Developer Week RJ - Qualidade de software: SOLID/DDD
Estudos Technocorp
Software robusto e flexível
Boas práticas de programação - Princípios SOLID
SOLID.pptx.pdf
Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Progra...
SOLID Os princípios da linguagem orientada a objeto
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
Orientação a Objetos - Princípios SOLID
Apresentação WTM
Princípios de Programação Orientada a Objetos Solid, dry e kiss
principios_SOLID_resumo.pdf
Solid / DRY Princípios
Desenvolvendo Aplicações SOLID
qualidade de código: boas práticas, princípios e padrões
Princípios SOLID
Anúncio

Último (16)

PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Arquitetura de computadores - Memórias Secundárias
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Processos na gestão de transportes, TM100 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
COBITxITIL-Entenda as diferença em uso governança TI
Custos e liquidação no SAP Transportation Management, TM130 Col18
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Anúncio

SOLID - Clean Architecture