SlideShare uma empresa Scribd logo
1 de 89
Orientação a Objetos e
Design Patterns
Construindo melhor seu software
Vinicius Quaiato
Desenvolvedor
Pai Santista fanático
.NET Architects
Palestrante
Blogueiro
Gonow Tecnologia
Vinicius Quaiato
vinicius.quaiato@gmail.com
@vquaiato
http://viniciusquaiato.com
http://gonow.com.br
Agenda
Um
estilo de program
ação
Um
estilo de program
ação
Existem diferentes “estilos”
Existem diferentes “estilos”
Orientada a Objeto
Funcional
Lógica
Estruturada
Procedural
Conceitos chave da POO
Conceitos chave da POO
Classes
Classes
ObjetosObjetos
A primeira classe…
A primeira classe…
O objeto…
O objeto…
EstadoEstado
Estado
Estado
Comportamento
Comportamento
Comportamento
Comportamento
Encapsulamento
Encapsulamento
Encapsulamento
Encapsulamento
Herança
Herança
HerançaHerança
Polimorfismo
Polimorfismo
Polimorfismo
Polimorfismo
Ferramentas certas?!
Ferramentas certas?!
{GoF}
Patterns são amigos
Patterns são amigos
POO é amiga
POO é amiga
Sustentabilidade
Sustentabilidade
CrescimentoCrescimento
Vida saudável
Vida saudável
http://viniciusquaiato.com/blog/category/patterns/
http://en.wikipedia.org/wiki/Design_pattern_(computer_science)
http://www.dofactory.com
http://martinfowler.com/eaaCatalog/
Vinicius Quaiato
vinicius.quaiato@gmail.com
@vquaiato
http://viniciusquaiato.com
http://gonow.com.br
Orientação a Objetos e Design Patterns

Mais conteúdo relacionado

Destaque

Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Maurício Aniche
 
Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?Maurício Aniche
 
DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?Maurício Aniche
 
Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Conheça a nova arquitetura do compilador do C# (DNAD 2015)Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Conheça a nova arquitetura do compilador do C# (DNAD 2015)Giovanni Bassi
 
Build e release pipeline com docker
Build e release pipeline com dockerBuild e release pipeline com docker
Build e release pipeline com dockerGiovanni Bassi
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureGiovanni Bassi
 
ASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETEduardo Pires
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 
Aplicações Conectadas com ASP.NET WebHooks
Aplicações Conectadas com ASP.NET WebHooksAplicações Conectadas com ASP.NET WebHooks
Aplicações Conectadas com ASP.NET WebHooksEduardo Pires
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e PráticaEduardo Pires
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosLeonardo Melo Santos
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasVagner Santana
 
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...Maurício Aniche
 
A Validated Set of Smells for MVC Architectures - ICSME 2016
A Validated Set of Smells for MVC Architectures - ICSME 2016A Validated Set of Smells for MVC Architectures - ICSME 2016
A Validated Set of Smells for MVC Architectures - ICSME 2016Maurício Aniche
 
Code quality in MVC systems - BENEVOL 2016
Code quality in MVC systems - BENEVOL 2016Code quality in MVC systems - BENEVOL 2016
Code quality in MVC systems - BENEVOL 2016Maurício Aniche
 
Culture Code - Resultados Digitais
 Culture Code - Resultados Digitais Culture Code - Resultados Digitais
Culture Code - Resultados DigitaisResultados Digitais
 
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017Maurício Aniche
 

Destaque (19)

Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?
 
Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?Você tem um xerife olhando seu código?
Você tem um xerife olhando seu código?
 
DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?DNAD 2015 - Métricas de código, pra que te quero?
DNAD 2015 - Métricas de código, pra que te quero?
 
Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Conheça a nova arquitetura do compilador do C# (DNAD 2015)Conheça a nova arquitetura do compilador do C# (DNAD 2015)
Conheça a nova arquitetura do compilador do C# (DNAD 2015)
 
Build e release pipeline com docker
Build e release pipeline com dockerBuild e release pipeline com docker
Build e release pipeline com docker
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e Azure
 
ASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NETASP.NET Identity - O Novo componente de Membership do ASP.NET
ASP.NET Identity - O Novo componente de Membership do ASP.NET
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Aplicações Conectadas com ASP.NET WebHooks
Aplicações Conectadas com ASP.NET WebHooksAplicações Conectadas com ASP.NET WebHooks
Aplicações Conectadas com ASP.NET WebHooks
 
ASP.NET MVC Core
ASP.NET MVC CoreASP.NET MVC Core
ASP.NET MVC Core
 
SOLID - Teoria e Prática
SOLID - Teoria e PráticaSOLID - Teoria e Prática
SOLID - Teoria e Prática
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
 
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
SATT: Tailoring Code Metric Thresholds for Different Software Architectures (...
 
A Validated Set of Smells for MVC Architectures - ICSME 2016
A Validated Set of Smells for MVC Architectures - ICSME 2016A Validated Set of Smells for MVC Architectures - ICSME 2016
A Validated Set of Smells for MVC Architectures - ICSME 2016
 
Code quality in MVC systems - BENEVOL 2016
Code quality in MVC systems - BENEVOL 2016Code quality in MVC systems - BENEVOL 2016
Code quality in MVC systems - BENEVOL 2016
 
Culture Code - Resultados Digitais
 Culture Code - Resultados Digitais Culture Code - Resultados Digitais
Culture Code - Resultados Digitais
 
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
 

Semelhante a Orientação a Objetos e Design Patterns

Ensino de empreendedorismo
Ensino de empreendedorismoEnsino de empreendedorismo
Ensino de empreendedorismojosedornelas
 
MSTechDay Lavras - Orientação a Objetos e Princípios Solid
MSTechDay Lavras - Orientação a Objetos e Princípios SolidMSTechDay Lavras - Orientação a Objetos e Princípios Solid
MSTechDay Lavras - Orientação a Objetos e Princípios SolidVinicius Quaiato
 
Design de Interação (se é que existe outro)
Design de Interação (se é que existe outro)Design de Interação (se é que existe outro)
Design de Interação (se é que existe outro)Hugo Cristo
 
Apresentação monografia do Curso de Design Instrucional para EaD Virtual - UN...
Apresentação monografia do Curso de Design Instrucional para EaD Virtual - UN...Apresentação monografia do Curso de Design Instrucional para EaD Virtual - UN...
Apresentação monografia do Curso de Design Instrucional para EaD Virtual - UN...Jeanne Louize Emygdio
 
Em busca do primeiro emprego
Em busca do primeiro empregoEm busca do primeiro emprego
Em busca do primeiro empregoQueroWorkar
 
Aula sobre elaboração de projeto de pesquisa
Aula sobre elaboração de projeto de pesquisaAula sobre elaboração de projeto de pesquisa
Aula sobre elaboração de projeto de pesquisaPriscila Valverde
 
Engenharia de Software I - Aula 5
Engenharia de Software I - Aula 5Engenharia de Software I - Aula 5
Engenharia de Software I - Aula 5Alessandro Almeida
 
Startups - Conceitos, metodologias e cases de mercado
Startups - Conceitos, metodologias e cases de mercadoStartups - Conceitos, metodologias e cases de mercado
Startups - Conceitos, metodologias e cases de mercadoMêndel Oliveira
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Luciano Freotas
 
Educacao empreendedora
Educacao empreendedoraEducacao empreendedora
Educacao empreendedorajosedornelas
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Luciano Freotas
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Luciano Freotas
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Luciano Freotas
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Luciano Freotas
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Luciano Freotas
 
Pesquisa na Escola
Pesquisa na Escola Pesquisa na Escola
Pesquisa na Escola Jeane Garcia
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Luciano Freotas
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Luciano Freotas
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Luciano Freotas
 

Semelhante a Orientação a Objetos e Design Patterns (20)

Ensino de empreendedorismo
Ensino de empreendedorismoEnsino de empreendedorismo
Ensino de empreendedorismo
 
MSTechDay Lavras - Orientação a Objetos e Princípios Solid
MSTechDay Lavras - Orientação a Objetos e Princípios SolidMSTechDay Lavras - Orientação a Objetos e Princípios Solid
MSTechDay Lavras - Orientação a Objetos e Princípios Solid
 
Design de Interação (se é que existe outro)
Design de Interação (se é que existe outro)Design de Interação (se é que existe outro)
Design de Interação (se é que existe outro)
 
Apresentação monografia do Curso de Design Instrucional para EaD Virtual - UN...
Apresentação monografia do Curso de Design Instrucional para EaD Virtual - UN...Apresentação monografia do Curso de Design Instrucional para EaD Virtual - UN...
Apresentação monografia do Curso de Design Instrucional para EaD Virtual - UN...
 
Em busca do primeiro emprego
Em busca do primeiro empregoEm busca do primeiro emprego
Em busca do primeiro emprego
 
Aula sobre elaboração de projeto de pesquisa
Aula sobre elaboração de projeto de pesquisaAula sobre elaboração de projeto de pesquisa
Aula sobre elaboração de projeto de pesquisa
 
Engenharia de Software I - Aula 5
Engenharia de Software I - Aula 5Engenharia de Software I - Aula 5
Engenharia de Software I - Aula 5
 
Startups - Conceitos, metodologias e cases de mercado
Startups - Conceitos, metodologias e cases de mercadoStartups - Conceitos, metodologias e cases de mercado
Startups - Conceitos, metodologias e cases de mercado
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00
 
Educacao empreendedora
Educacao empreendedoraEducacao empreendedora
Educacao empreendedora
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00
 
Programação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a ObjetosProgramação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a Objetos
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00
 
Pesquisa na Escola
Pesquisa na Escola Pesquisa na Escola
Pesquisa na Escola
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00
 
Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00Monografia & Tcc pro R$350,00
Monografia & Tcc pro R$350,00
 

Mais 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
 

Mais 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
 

Orientação a Objetos e Design Patterns