SlideShare uma empresa Scribd logo
SOLID
Marco Antônio de Oliveira
Formação:
Bacharel em Sistemas de Informação - Ulbra/2015
Cursando: MIT Engenharia de Software JAVA -
FGV/Decision
Linkedin: https://br.linkedin.com/in/marcooliveira18
E-mail: marco.oliveira@ilegra.com
“SOLID são princípios
básicos (boas práticas) da
Programação Orientada a
Objetos.
Single Responsibility Principle
Open Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
1.
Single Responsibility Principle
Uma Classe deve conter somente responsabilidades que são suas.
Uma classe deve ter um, e apenas um, motivo para mudar.
Open Closed Principle
Aberto para extensão e fechado para modificação.
Ser capaz de extender o comportamento de uma classe sem
modificá-la;
2.
Liskov Substitution Principle
Programe para a interface e não para sua implementação!
“Dado um Tipo T, todos os seus subtipos S podem ser usados como
seus substitutos sem que haja impactos no sistema.”
3.
Interface Segregation Principle
Uma classe consumidora não deve conhecer (depender)
métodos que não necessitam.
Para ter uma classe coesa e reutilizável, devemos atribuir a
ela uma única responsabilidade
4.
Dependency Inversion Principle
Componentes de mais alto nível não devem depender de
componentes de níveis mais baixos, mas ambos devem depender de
abstrações.
Abstrações não devem depender de implementações, mas as
implementações devem depender de abstrações.
5.
Obrigado

Mais conteúdo relacionado

Destaque

Logo
LogoLogo
Logo
hectortig
 
Havas Luxe Events - French vs. US Luxury
Havas Luxe Events - French vs. US LuxuryHavas Luxe Events - French vs. US Luxury
Havas Luxe Events - French vs. US Luxury
Havas
 
English
EnglishEnglish
English
Hiep La
 
El eco de_la_vida
El eco de_la_vidaEl eco de_la_vida
El eco de_la_vida
capri_6969
 
Anaqueles de ciudadanía 4
Anaqueles de ciudadanía 4Anaqueles de ciudadanía 4
Anaqueles de ciudadanía 4
odesdo
 
Práctica de clase
Práctica de clasePráctica de clase
Práctica de clase
Nereaeinfantil
 
Bmgt 311 chapter_15
Bmgt 311 chapter_15Bmgt 311 chapter_15
Bmgt 311 chapter_15
Chris Lovett
 
Where's Math The Math?
Where's Math The Math?Where's Math The Math?
Where's Math The Math?
Glenn Kenyon
 
Conquiste nuevas bendiciones
Conquiste nuevas bendicionesConquiste nuevas bendiciones
Lse Executive Political Campaigning
Lse Executive Political CampaigningLse Executive Political Campaigning
Lse Executive Political Campaigning
Carolina Matos
 
Google docs
Google docsGoogle docs
Google docs
fausto10
 
Basketball
BasketballBasketball
Basketball
alan J. N.
 
SGP Presntation
SGP PresntationSGP Presntation
SGP Presntation
Sean Kayode
 
Xix exame tributário segunda fase
Xix exame tributário   segunda faseXix exame tributário   segunda fase
Xix exame tributário segunda fase
oliversilva82
 
The Road to No PHO: Here's How It TRANSPired
The Road to No PHO: Here's How It TRANSPiredThe Road to No PHO: Here's How It TRANSPired
The Road to No PHO: Here's How It TRANSPired
Food Insight
 
취업교육 관심사 분석
취업교육 관심사 분석취업교육 관심사 분석
취업교육 관심사 분석
ACE Trader
 

Destaque (16)

Logo
LogoLogo
Logo
 
Havas Luxe Events - French vs. US Luxury
Havas Luxe Events - French vs. US LuxuryHavas Luxe Events - French vs. US Luxury
Havas Luxe Events - French vs. US Luxury
 
English
EnglishEnglish
English
 
El eco de_la_vida
El eco de_la_vidaEl eco de_la_vida
El eco de_la_vida
 
Anaqueles de ciudadanía 4
Anaqueles de ciudadanía 4Anaqueles de ciudadanía 4
Anaqueles de ciudadanía 4
 
Práctica de clase
Práctica de clasePráctica de clase
Práctica de clase
 
Bmgt 311 chapter_15
Bmgt 311 chapter_15Bmgt 311 chapter_15
Bmgt 311 chapter_15
 
Where's Math The Math?
Where's Math The Math?Where's Math The Math?
Where's Math The Math?
 
Conquiste nuevas bendiciones
Conquiste nuevas bendicionesConquiste nuevas bendiciones
Conquiste nuevas bendiciones
 
Lse Executive Political Campaigning
Lse Executive Political CampaigningLse Executive Political Campaigning
Lse Executive Political Campaigning
 
Google docs
Google docsGoogle docs
Google docs
 
Basketball
BasketballBasketball
Basketball
 
SGP Presntation
SGP PresntationSGP Presntation
SGP Presntation
 
Xix exame tributário segunda fase
Xix exame tributário   segunda faseXix exame tributário   segunda fase
Xix exame tributário segunda fase
 
The Road to No PHO: Here's How It TRANSPired
The Road to No PHO: Here's How It TRANSPiredThe Road to No PHO: Here's How It TRANSPired
The Road to No PHO: Here's How It TRANSPired
 
취업교육 관심사 분석
취업교육 관심사 분석취업교육 관심사 분석
취업교육 관심사 분석
 

Semelhante a SOLID

Dojo solid
Dojo solidDojo solid
Dojo solid
jeffersonmc2
 
Solid
SolidSolid
Orientação a Objetos - Princípios SOLID
Orientação a Objetos - Princípios SOLIDOrientação a Objetos - Princípios SOLID
Orientação a Objetos - Princípios SOLID
Vinicius Quaiato
 
TDC 2019 Clean Architeture com .net core
TDC 2019  Clean Architeture com .net coreTDC 2019  Clean Architeture com .net core
TDC 2019 Clean Architeture com .net core
Rodolfo Fadino Junior
 
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindoDe Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
Anna Cruz
 
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
DanielChristofolli
 
Um desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDUm desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLID
Hélio Medeiros
 
Apresentação WTM
Apresentação WTMApresentação WTM
Apresentação WTM
Anna Cruz
 
Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Progra...
Slide Encontros Universitários 2015 UFC  - SOLID, Design de Software e Progra...Slide Encontros Universitários 2015 UFC  - SOLID, Design de Software e Progra...
Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Progra...
Ronildo Oliveira
 
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...
Klederson Bueno
 
Apres s4
Apres s4 Apres s4
Princípios S.O.L.I.D.
Princípios S.O.L.I.D.Princípios S.O.L.I.D.
Princípios S.O.L.I.D.
Leandro Nishijima
 
Orientação a Objetos e SOLID
Orientação a Objetos e SOLIDOrientação a Objetos e SOLID
Orientação a Objetos e SOLID
Janderson Thomaz
 
Princípios solid
Princípios solidPrincípios solid
Princípios solid
Dyego Costa
 
Princípios SOLID
Princípios SOLIDPrincípios SOLID
Princípios SOLID
Edmilson Filho
 
Princípios SOLID
Princípios SOLIDPrincípios SOLID
Princípios SOLID
Joberto Diniz
 
SOLID - Clean Architecture
SOLID - Clean ArchitectureSOLID - Clean Architecture
SOLID - Clean Architecture
Evelise Vazquez
 
Boas práticas para desenvolvimento de software
Boas práticas para desenvolvimento de softwareBoas práticas para desenvolvimento de software
Boas práticas para desenvolvimento de software
Pedro Hübner
 
MEF DotNetArchitects
MEF DotNetArchitectsMEF DotNetArchitects
MEF DotNetArchitects
Fabio Margarito
 

Semelhante a SOLID (19)

Dojo solid
Dojo solidDojo solid
Dojo solid
 
Solid
SolidSolid
Solid
 
Orientação a Objetos - Princípios SOLID
Orientação a Objetos - Princípios SOLIDOrientação a Objetos - Princípios SOLID
Orientação a Objetos - Princípios SOLID
 
TDC 2019 Clean Architeture com .net core
TDC 2019  Clean Architeture com .net coreTDC 2019  Clean Architeture com .net core
TDC 2019 Clean Architeture com .net core
 
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindoDe Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
De Fred Krueger a Brad Pitt como melhorar o seu código e fazê-lo ficar lindo
 
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
 
Um desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDUm desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLID
 
Apresentação WTM
Apresentação WTMApresentação WTM
Apresentação WTM
 
Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Progra...
Slide Encontros Universitários 2015 UFC  - SOLID, Design de Software e Progra...Slide Encontros Universitários 2015 UFC  - SOLID, Design de Software e Progra...
Slide Encontros Universitários 2015 UFC - SOLID, Design de Software e Progra...
 
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...
 
Apres s4
Apres s4 Apres s4
Apres s4
 
Princípios S.O.L.I.D.
Princípios S.O.L.I.D.Princípios S.O.L.I.D.
Princípios S.O.L.I.D.
 
Orientação a Objetos e SOLID
Orientação a Objetos e SOLIDOrientação a Objetos e SOLID
Orientação a Objetos e SOLID
 
Princípios solid
Princípios solidPrincípios solid
Princípios solid
 
Princípios SOLID
Princípios SOLIDPrincípios SOLID
Princípios SOLID
 
Princípios SOLID
Princípios SOLIDPrincípios SOLID
Princípios SOLID
 
SOLID - Clean Architecture
SOLID - Clean ArchitectureSOLID - Clean Architecture
SOLID - Clean Architecture
 
Boas práticas para desenvolvimento de software
Boas práticas para desenvolvimento de softwareBoas práticas para desenvolvimento de software
Boas práticas para desenvolvimento de software
 
MEF DotNetArchitects
MEF DotNetArchitectsMEF DotNetArchitects
MEF DotNetArchitects
 

Último

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 

Último (8)

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 

SOLID

  • 2. Marco Antônio de Oliveira Formação: Bacharel em Sistemas de Informação - Ulbra/2015 Cursando: MIT Engenharia de Software JAVA - FGV/Decision Linkedin: https://br.linkedin.com/in/marcooliveira18 E-mail: marco.oliveira@ilegra.com
  • 3. “SOLID são princípios básicos (boas práticas) da Programação Orientada a Objetos.
  • 4. Single Responsibility Principle Open Closed Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion Principle
  • 5. 1. Single Responsibility Principle Uma Classe deve conter somente responsabilidades que são suas. Uma classe deve ter um, e apenas um, motivo para mudar.
  • 6.
  • 7.
  • 8. Open Closed Principle Aberto para extensão e fechado para modificação. Ser capaz de extender o comportamento de uma classe sem modificá-la; 2.
  • 9.
  • 10.
  • 11. Liskov Substitution Principle Programe para a interface e não para sua implementação! “Dado um Tipo T, todos os seus subtipos S podem ser usados como seus substitutos sem que haja impactos no sistema.” 3.
  • 12.
  • 13.
  • 14. Interface Segregation Principle Uma classe consumidora não deve conhecer (depender) métodos que não necessitam. Para ter uma classe coesa e reutilizável, devemos atribuir a ela uma única responsabilidade 4.
  • 15.
  • 16.
  • 17. Dependency Inversion Principle Componentes de mais alto nível não devem depender de componentes de níveis mais baixos, mas ambos devem depender de abstrações. Abstrações não devem depender de implementações, mas as implementações devem depender de abstrações. 5.
  • 18.
  • 19.
  • 20.
  • 21.