SlideShare uma empresa Scribd logo
Padrões de projetos de
          software
          Vitor Castro
          facebook.com/ait-proeg




domingo, 6 de janeiro de 13
O que é ?


                Uma solução geral reutilizável para um problema
                recorrente no desenvolvimento de sistemas de
                software orientado a objetos (wikipédia)




domingo, 6 de janeiro de 13
Factory
                Uso de método estático para realizar a criação de um
                objeto.




domingo, 6 de janeiro de 13
Facade
                objeto que disponibiliza uma interface simplificada para
                uma das funcionalidades de uma API (wikipédia)




domingo, 6 de janeiro de 13
Singleton
                garante a existência de apenas uma instância de uma
                classe, mantendo um ponto global de acesso ao seu
                objeto.




domingo, 6 de janeiro de 13
DAO
                é um padrão para persistência de dados que permite
                separar regras de negócio das regras de acesso a
                banco de dados.




domingo, 6 de janeiro de 13
Obrigado
                       facebook.com/ait-proeg



domingo, 6 de janeiro de 13

Mais conteúdo relacionado

Semelhante a Padrões de projetos

genesis - Acelerando o desenvolvimento de aplicações desktop
genesis - Acelerando o desenvolvimento de aplicações desktopgenesis - Acelerando o desenvolvimento de aplicações desktop
genesis - Acelerando o desenvolvimento de aplicações desktop
Michel Graciano
 
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Matheus Calegaro
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
Miguel Galves
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
Wellington Marion
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G O
fabio.thomaz
 
Entity framework
Entity frameworkEntity framework
Entity framework
Priscila Mayumi
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EE
Eder Magalhães
 
ViewModel Android, Como Utilizar Este Componente de Arquitetura
ViewModel Android, Como Utilizar Este Componente de ArquiteturaViewModel Android, Como Utilizar Este Componente de Arquitetura
ViewModel Android, Como Utilizar Este Componente de Arquitetura
Vinícius Thiengo
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
Rafael Carneiro
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
Alini Rebonatto
 
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EEAlta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
elliando dias
 
Spring Data Neo4j
Spring Data Neo4jSpring Data Neo4j
Spring Data Neo4j
Ivan Queiroz
 
Semana acadêmica UFRGS 2014
Semana acadêmica UFRGS 2014Semana acadêmica UFRGS 2014
Semana acadêmica UFRGS 2014
Daniela Macedo
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
Comunidade NetPonto
 
Visual Studio Summit 2013 - Patterns para criação de camadas de acesso a dados
Visual Studio Summit 2013 - Patterns para criação de camadas de acesso a dadosVisual Studio Summit 2013 - Patterns para criação de camadas de acesso a dados
Visual Studio Summit 2013 - Patterns para criação de camadas de acesso a dados
Fernando Henrique
 
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineCloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App Engine
Frederico Maia Arantes
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java Básico
Paloma Costa
 
Junho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonJunho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em python
Grupo de Testes Carioca
 
Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonDjango - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em python
Paula Grangeiro
 

Semelhante a Padrões de projetos (19)

genesis - Acelerando o desenvolvimento de aplicações desktop
genesis - Acelerando o desenvolvimento de aplicações desktopgenesis - Acelerando o desenvolvimento de aplicações desktop
genesis - Acelerando o desenvolvimento de aplicações desktop
 
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G O
 
Entity framework
Entity frameworkEntity framework
Entity framework
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EE
 
ViewModel Android, Como Utilizar Este Componente de Arquitetura
ViewModel Android, Como Utilizar Este Componente de ArquiteturaViewModel Android, Como Utilizar Este Componente de Arquitetura
ViewModel Android, Como Utilizar Este Componente de Arquitetura
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EEAlta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
 
Spring Data Neo4j
Spring Data Neo4jSpring Data Neo4j
Spring Data Neo4j
 
Semana acadêmica UFRGS 2014
Semana acadêmica UFRGS 2014Semana acadêmica UFRGS 2014
Semana acadêmica UFRGS 2014
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Visual Studio Summit 2013 - Patterns para criação de camadas de acesso a dados
Visual Studio Summit 2013 - Patterns para criação de camadas de acesso a dadosVisual Studio Summit 2013 - Patterns para criação de camadas de acesso a dados
Visual Studio Summit 2013 - Patterns para criação de camadas de acesso a dados
 
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App EngineCloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App Engine
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java Básico
 
Junho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonJunho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em python
 
Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonDjango - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em python
 

Mais de COTIC-PROEG (UFPA)

LT - Redis
LT - RedisLT - Redis
LT - Redis
COTIC-PROEG (UFPA)
 
LT Ansible
LT AnsibleLT Ansible
LT Ansible
COTIC-PROEG (UFPA)
 
Testes automatizados com Cypress
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com Cypress
COTIC-PROEG (UFPA)
 
Loop back
Loop backLoop back
METEOR
METEORMETEOR
Desenvolvimento de software tradicional vs ágil
Desenvolvimento de software tradicional vs ágilDesenvolvimento de software tradicional vs ágil
Desenvolvimento de software tradicional vs ágil
COTIC-PROEG (UFPA)
 
Canva
CanvaCanva
Git v2
Git v2Git v2
Atitudes que levam ao Fracasso profissional
Atitudes que levam ao Fracasso profissionalAtitudes que levam ao Fracasso profissional
Atitudes que levam ao Fracasso profissional
COTIC-PROEG (UFPA)
 
Os 5 Sensos da Qualidade
Os 5 Sensos da QualidadeOs 5 Sensos da Qualidade
Os 5 Sensos da Qualidade
COTIC-PROEG (UFPA)
 
WATSON - O Fascinante Computador da IBM
WATSON - O Fascinante Computador da IBMWATSON - O Fascinante Computador da IBM
WATSON - O Fascinante Computador da IBM
COTIC-PROEG (UFPA)
 
Produtividade sem enrrolação
Produtividade sem enrrolaçãoProdutividade sem enrrolação
Produtividade sem enrrolação
COTIC-PROEG (UFPA)
 
LAB JavaScript
LAB JavaScriptLAB JavaScript
LAB JavaScript
COTIC-PROEG (UFPA)
 
Principios e Valores Ágeis
Principios e Valores ÁgeisPrincipios e Valores Ágeis
Principios e Valores Ágeis
COTIC-PROEG (UFPA)
 
Big data
Big dataBig data
Metricas para Times Ágeis
Metricas para Times ÁgeisMetricas para Times Ágeis
Metricas para Times Ágeis
COTIC-PROEG (UFPA)
 
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPAAplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
COTIC-PROEG (UFPA)
 
Técnicas para Programação em Par
Técnicas para Programação em ParTécnicas para Programação em Par
Técnicas para Programação em Par
COTIC-PROEG (UFPA)
 
Feedback Canvas
Feedback CanvasFeedback Canvas
Feedback Canvas
COTIC-PROEG (UFPA)
 
5 Doenças do Gerenciamento de Projetos
5 Doenças do Gerenciamento de Projetos5 Doenças do Gerenciamento de Projetos
5 Doenças do Gerenciamento de Projetos
COTIC-PROEG (UFPA)
 

Mais de COTIC-PROEG (UFPA) (20)

LT - Redis
LT - RedisLT - Redis
LT - Redis
 
LT Ansible
LT AnsibleLT Ansible
LT Ansible
 
Testes automatizados com Cypress
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com Cypress
 
Loop back
Loop backLoop back
Loop back
 
METEOR
METEORMETEOR
METEOR
 
Desenvolvimento de software tradicional vs ágil
Desenvolvimento de software tradicional vs ágilDesenvolvimento de software tradicional vs ágil
Desenvolvimento de software tradicional vs ágil
 
Canva
CanvaCanva
Canva
 
Git v2
Git v2Git v2
Git v2
 
Atitudes que levam ao Fracasso profissional
Atitudes que levam ao Fracasso profissionalAtitudes que levam ao Fracasso profissional
Atitudes que levam ao Fracasso profissional
 
Os 5 Sensos da Qualidade
Os 5 Sensos da QualidadeOs 5 Sensos da Qualidade
Os 5 Sensos da Qualidade
 
WATSON - O Fascinante Computador da IBM
WATSON - O Fascinante Computador da IBMWATSON - O Fascinante Computador da IBM
WATSON - O Fascinante Computador da IBM
 
Produtividade sem enrrolação
Produtividade sem enrrolaçãoProdutividade sem enrrolação
Produtividade sem enrrolação
 
LAB JavaScript
LAB JavaScriptLAB JavaScript
LAB JavaScript
 
Principios e Valores Ágeis
Principios e Valores ÁgeisPrincipios e Valores Ágeis
Principios e Valores Ágeis
 
Big data
Big dataBig data
Big data
 
Metricas para Times Ágeis
Metricas para Times ÁgeisMetricas para Times Ágeis
Metricas para Times Ágeis
 
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPAAplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
 
Técnicas para Programação em Par
Técnicas para Programação em ParTécnicas para Programação em Par
Técnicas para Programação em Par
 
Feedback Canvas
Feedback CanvasFeedback Canvas
Feedback Canvas
 
5 Doenças do Gerenciamento de Projetos
5 Doenças do Gerenciamento de Projetos5 Doenças do Gerenciamento de Projetos
5 Doenças do Gerenciamento de Projetos
 

Padrões de projetos

  • 1. Padrões de projetos de software Vitor Castro facebook.com/ait-proeg domingo, 6 de janeiro de 13
  • 2. O que é ? Uma solução geral reutilizável para um problema recorrente no desenvolvimento de sistemas de software orientado a objetos (wikipédia) domingo, 6 de janeiro de 13
  • 3. Factory Uso de método estático para realizar a criação de um objeto. domingo, 6 de janeiro de 13
  • 4. Facade objeto que disponibiliza uma interface simplificada para uma das funcionalidades de uma API (wikipédia) domingo, 6 de janeiro de 13
  • 5. Singleton garante a existência de apenas uma instância de uma classe, mantendo um ponto global de acesso ao seu objeto. domingo, 6 de janeiro de 13
  • 6. DAO é um padrão para persistência de dados que permite separar regras de negócio das regras de acesso a banco de dados. domingo, 6 de janeiro de 13
  • 7. Obrigado facebook.com/ait-proeg domingo, 6 de janeiro de 13