SlideShare une entreprise Scribd logo
1  sur  50
 
.NET Architects Arquitetura de Software Vegetariano Santista maluco Palestras .NET Testes, TDD e mais Testes Boas práticas SDC Stefanini .NET Magazine Blogueiro Pai
 
 
 
 
 
Um estilo de programação
Existem muitos “estilos”
 
Conceitos chave da POO
Classes
Objetos
A primeira classe…
O objeto…
Estado
Estado
Comportamento
Comportamento
Encapsulamento
Encapsulamento
Herança
Herança
Polimorfismo
Polimorfismo
 
Ferramentas certas?!
Tio Bob…
Princípios SOLID
 
 
 
Responsabilidade Única
Responsabilidade Única Uma classe ou método deve ter uma única responsabilidade. Indo além, uma classe deve ter uma e apenas UMA razão para mudar.
Faça perguntas para a Classe “ Classe, o que você faz?”
Aberto Fechado
Aberto Fechado Uma classe deve estar aberta para extensão e fechada para modificação.
Substituição de Liskov
Substituição de Liskov Deve ser possível substituir uma classe base por suas classes derivadas em qualquer ponto do código.
Segregação de Interface
Segregação de Interface Clientes não devem ser obrigados a depender de interfaces que eles não utilizam.
Inversão de Dependência
Inversão de Dependência Módulos de alto nível não devem depender de módulos de baixo nível, ambos devem depender de abstrações. Abstrações não devem depender de detalhes, detalhes devem depender de abstrações.
 
Sustentabilidade
Vida saudável
Crescimento
[object Object],[object Object],[object Object],Extra Info…
 
 

Contenu connexe

Tendances

Cocoaheads Brasil SP - 26/04/16 - SOLID
Cocoaheads Brasil SP - 26/04/16 - SOLIDCocoaheads Brasil SP - 26/04/16 - SOLID
Cocoaheads Brasil SP - 26/04/16 - SOLIDBruno Mazzo
 
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfAndreCosta502039
 
Bolovo - problema antigo de arquitetura de software - não use por aí
Bolovo - problema antigo de arquitetura de software - não use por aíBolovo - problema antigo de arquitetura de software - não use por aí
Bolovo - problema antigo de arquitetura de software - não use por aíPriscila Mayumi
 
ArchUnit-Garantindo a Integridade dos seus Padrões Arquiteturais em Java
ArchUnit-Garantindo a Integridade dos seus Padrões Arquiteturais em JavaArchUnit-Garantindo a Integridade dos seus Padrões Arquiteturais em Java
ArchUnit-Garantindo a Integridade dos seus Padrões Arquiteturais em JavaEdlaine Zamora
 
boas praticas
boas praticasboas praticas
boas praticaslcbj
 

Tendances (7)

Princípios SOLID
Princípios SOLIDPrincípios SOLID
Princípios SOLID
 
Cocoaheads Brasil SP - 26/04/16 - SOLID
Cocoaheads Brasil SP - 26/04/16 - SOLIDCocoaheads Brasil SP - 26/04/16 - SOLID
Cocoaheads Brasil SP - 26/04/16 - SOLID
 
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdf
 
Bolovo - problema antigo de arquitetura de software - não use por aí
Bolovo - problema antigo de arquitetura de software - não use por aíBolovo - problema antigo de arquitetura de software - não use por aí
Bolovo - problema antigo de arquitetura de software - não use por aí
 
ArchUnit-Garantindo a Integridade dos seus Padrões Arquiteturais em Java
ArchUnit-Garantindo a Integridade dos seus Padrões Arquiteturais em JavaArchUnit-Garantindo a Integridade dos seus Padrões Arquiteturais em Java
ArchUnit-Garantindo a Integridade dos seus Padrões Arquiteturais em Java
 
boas praticas
boas praticasboas praticas
boas praticas
 
Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 

En vedette

SOLID - Princípio da Responsabilidade Única
SOLID - Princípio da Responsabilidade ÚnicaSOLID - Princípio da Responsabilidade Única
SOLID - Princípio da Responsabilidade ÚnicaAndré Faria Gomes
 
Javascript e Orientação a Objetos - Palestra UNIFACS
Javascript e Orientação a Objetos - Palestra UNIFACSJavascript e Orientação a Objetos - Palestra UNIFACS
Javascript e Orientação a Objetos - Palestra UNIFACSMichel Felipe
 
Apresentação palestra games na sala e aula
Apresentação palestra games na sala e aulaApresentação palestra games na sala e aula
Apresentação palestra games na sala e aulaCristiano N. Tonéis
 
Palestra Gestão de Requisitos através de práticas Ágeis e Enxutas - Manoel P...
Palestra Gestão de Requisitos através de práticas Ágeis e Enxutas  - Manoel P...Palestra Gestão de Requisitos através de práticas Ágeis e Enxutas  - Manoel P...
Palestra Gestão de Requisitos através de práticas Ágeis e Enxutas - Manoel P...Manoel Pimentel Medeiros
 

En vedette (6)

SOLID - Princípio da Responsabilidade Única
SOLID - Princípio da Responsabilidade ÚnicaSOLID - Princípio da Responsabilidade Única
SOLID - Princípio da Responsabilidade Única
 
Javascript e Orientação a Objetos - Palestra UNIFACS
Javascript e Orientação a Objetos - Palestra UNIFACSJavascript e Orientação a Objetos - Palestra UNIFACS
Javascript e Orientação a Objetos - Palestra UNIFACS
 
Apresentação palestra games na sala e aula
Apresentação palestra games na sala e aulaApresentação palestra games na sala e aula
Apresentação palestra games na sala e aula
 
Práticas Ágeis
Práticas ÁgeisPráticas Ágeis
Práticas Ágeis
 
Modelagem Ágil
Modelagem ÁgilModelagem Ágil
Modelagem Ágil
 
Palestra Gestão de Requisitos através de práticas Ágeis e Enxutas - Manoel P...
Palestra Gestão de Requisitos através de práticas Ágeis e Enxutas  - Manoel P...Palestra Gestão de Requisitos através de práticas Ágeis e Enxutas  - Manoel P...
Palestra Gestão de Requisitos através de práticas Ágeis e Enxutas - Manoel P...
 

Similaire à Princípios SOLID de Programação Orientada a Objetos

Apresentação WTM
Apresentação WTMApresentação WTM
Apresentação WTMAnna Cruz
 
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 lindoAnna Cruz
 
Test driven development
Test driven developmentTest driven development
Test driven developmentclauvane1708
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Carlos Eduardo
 
Boas práticas de programação - Princípios SOLID
Boas práticas de programação - Princípios SOLIDBoas práticas de programação - Princípios SOLID
Boas práticas de programação - Princípios SOLIDVinicius Dias
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosEvandro Agnes
 
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 coreRodolfo Fadino Junior
 
Introdução a Padrões de Projeto
Introdução a Padrões de ProjetoIntrodução a Padrões de Projeto
Introdução a Padrões de ProjetoEduardo Mendes
 
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
 
Orientação a Objetos e SOLID
Orientação a Objetos e SOLIDOrientação a Objetos e SOLID
Orientação a Objetos e SOLIDJanderson Thomaz
 
Questionário sobre padrões de codificação java revisão da tentativa
Questionário sobre padrões de codificação java  revisão da tentativaQuestionário sobre padrões de codificação java  revisão da tentativa
Questionário sobre padrões de codificação java revisão da tentativaAluisioSantos4
 
Hangout OOD – princípio da responsabilidade única
Hangout OOD – princípio da responsabilidade únicaHangout OOD – princípio da responsabilidade única
Hangout OOD – princípio da responsabilidade únicaPriscila Mayumi
 
Boas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareBoas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareCarlos Santana
 

Similaire à Princípios SOLID de Programação Orientada a Objetos (20)

Java - Boas práticas
Java - Boas práticasJava - Boas práticas
Java - Boas práticas
 
Apresentação WTM
Apresentação WTMApresentação WTM
Apresentação WTM
 
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
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1
 
Princípios SOLID
Princípios SOLIDPrincípios SOLID
Princípios SOLID
 
Boas práticas de programação - Princípios SOLID
Boas práticas de programação - Princípios SOLIDBoas práticas de programação - Princípios SOLID
Boas práticas de programação - Princípios SOLID
 
SOLID
SOLID SOLID
SOLID
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetos
 
Código Limpo
Código LimpoCódigo Limpo
Código Limpo
 
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
 
Code Smells
Code SmellsCode Smells
Code Smells
 
Introdução a Padrões de Projeto
Introdução a Padrões de ProjetoIntrodução a Padrões de Projeto
Introdução a Padrões de Projeto
 
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...
 
Pensando TDD
Pensando TDDPensando TDD
Pensando TDD
 
Orientação a Objetos e SOLID
Orientação a Objetos e SOLIDOrientação a Objetos e SOLID
Orientação a Objetos e SOLID
 
Questionário sobre padrões de codificação java revisão da tentativa
Questionário sobre padrões de codificação java  revisão da tentativaQuestionário sobre padrões de codificação java  revisão da tentativa
Questionário sobre padrões de codificação java revisão da tentativa
 
Hangout OOD – princípio da responsabilidade única
Hangout OOD – princípio da responsabilidade únicaHangout OOD – princípio da responsabilidade única
Hangout OOD – princípio da responsabilidade única
 
Software robusto e flexível
Software robusto e flexívelSoftware robusto e flexível
Software robusto e flexível
 
Boas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareBoas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de software
 

Plus de Vinicius Quaiato

Me interessei por Xamarin, e agora?
Me interessei por Xamarin, e agora?Me interessei por Xamarin, e agora?
Me interessei por Xamarin, e agora?Vinicius Quaiato
 
Throughput, escalabilidade e distribuição global com Cosmos DB
Throughput, escalabilidade e distribuição global com Cosmos DBThroughput, escalabilidade e distribuição global com Cosmos DB
Throughput, escalabilidade e distribuição global com Cosmos DBVinicius Quaiato
 
Meetup Delivering Software - Microsoft Build 2017
Meetup Delivering Software - Microsoft Build 2017Meetup Delivering Software - Microsoft Build 2017
Meetup Delivering Software - Microsoft Build 2017Vinicius Quaiato
 
Microsoft loves open source
Microsoft loves open sourceMicrosoft loves open source
Microsoft loves open sourceVinicius Quaiato
 
Testes de A a Z (em 30 minutos)
Testes de A a Z (em 30 minutos)Testes de A a Z (em 30 minutos)
Testes de A a Z (em 30 minutos)Vinicius Quaiato
 
Soluções escaláveis com Microsoft Orleans e Windows Azure
Soluções escaláveis com Microsoft Orleans e Windows AzureSoluções escaláveis com Microsoft Orleans e Windows Azure
Soluções escaláveis com Microsoft Orleans e Windows AzureVinicius Quaiato
 
Universos Paralelos (saindo da zona de conforto)
Universos Paralelos (saindo da zona de conforto)Universos Paralelos (saindo da zona de conforto)
Universos Paralelos (saindo da zona de conforto)Vinicius Quaiato
 
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius QuaiatoArquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius QuaiatoVinicius Quaiato
 
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius QuaiatoArquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius QuaiatoVinicius Quaiato
 
Orientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaOrientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaVinicius Quaiato
 
.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato
.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato
.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiatoVinicius Quaiato
 
Patterns para Windows Azure e Cloud Computing
Patterns para Windows Azure e Cloud ComputingPatterns para Windows Azure e Cloud Computing
Patterns para Windows Azure e Cloud ComputingVinicius Quaiato
 
Windows Phone 7 & Windows Azure
Windows Phone 7 & Windows AzureWindows Phone 7 & Windows Azure
Windows Phone 7 & Windows AzureVinicius Quaiato
 
Mono - .NET além do Windows
Mono - .NET além do WindowsMono - .NET além do Windows
Mono - .NET além do WindowsVinicius Quaiato
 
Mono - .NET além do Windows
Mono - .NET além do WindowsMono - .NET além do Windows
Mono - .NET além do WindowsVinicius Quaiato
 

Plus de Vinicius Quaiato (20)

Me interessei por Xamarin, e agora?
Me interessei por Xamarin, e agora?Me interessei por Xamarin, e agora?
Me interessei por Xamarin, e agora?
 
Throughput, escalabilidade e distribuição global com Cosmos DB
Throughput, escalabilidade e distribuição global com Cosmos DBThroughput, escalabilidade e distribuição global com Cosmos DB
Throughput, escalabilidade e distribuição global com Cosmos DB
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Meetup Delivering Software - Microsoft Build 2017
Meetup Delivering Software - Microsoft Build 2017Meetup Delivering Software - Microsoft Build 2017
Meetup Delivering Software - Microsoft Build 2017
 
Microsoft loves open source
Microsoft loves open sourceMicrosoft loves open source
Microsoft loves open source
 
Testes de A a Z (em 30 minutos)
Testes de A a Z (em 30 minutos)Testes de A a Z (em 30 minutos)
Testes de A a Z (em 30 minutos)
 
IdentityServer 4
IdentityServer 4IdentityServer 4
IdentityServer 4
 
Azure WebJobs
Azure WebJobsAzure WebJobs
Azure WebJobs
 
Soluções escaláveis com Microsoft Orleans e Windows Azure
Soluções escaláveis com Microsoft Orleans e Windows AzureSoluções escaláveis com Microsoft Orleans e Windows Azure
Soluções escaláveis com Microsoft Orleans e Windows Azure
 
Functional programming
Functional programmingFunctional programming
Functional programming
 
Universos Paralelos (saindo da zona de conforto)
Universos Paralelos (saindo da zona de conforto)Universos Paralelos (saindo da zona de conforto)
Universos Paralelos (saindo da zona de conforto)
 
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius QuaiatoArquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
 
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius QuaiatoArquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
Arquitetura de Software e o Arquiteto - Secomp Londrina - Vinicius Quaiato
 
Orientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaOrientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp Londrina
 
.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato
.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato
.Net e arquiteturas modernas - qconsp 2011 - vinicius quaiato
 
Patterns para Windows Azure e Cloud Computing
Patterns para Windows Azure e Cloud ComputingPatterns para Windows Azure e Cloud Computing
Patterns para Windows Azure e Cloud Computing
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Windows Phone 7 & Windows Azure
Windows Phone 7 & Windows AzureWindows Phone 7 & Windows Azure
Windows Phone 7 & Windows Azure
 
Mono - .NET além do Windows
Mono - .NET além do WindowsMono - .NET além do Windows
Mono - .NET além do Windows
 
Mono - .NET além do Windows
Mono - .NET além do WindowsMono - .NET além do Windows
Mono - .NET além do Windows
 

Princípios SOLID de Programação Orientada a Objetos