SlideShare uma empresa Scribd logo
Projeto e implementação de software utilizando padrões de projetoAntonio Passos
AgendaDe onde vêm os padrões? Conceito de padrãoPor que estudar padrões?Alguns padrões conhecidos Padrões GRASPComo tomar decisões de projetoPra saber mais
De onde vêm os padrões?Algo em comum aqui?Escadaria Selarón - RJBiblioteca Nacional - RJ
De onde vêm os padrões?Pirâmide de Kukulcán - México
De onde vêm os padrões?Pirâmide de Kukulcán - México
De onde vêm os padrões?A beleza está realmente nos olhos de quem vê?Ou existe base objetiva para tal julgamento?
De onde vêm os padrões?
É possível projetar sistemas de forma metódica, racional, explicável?
Conceitos de padrõesPar nomeado problema/solução que pode ser aplicado em novos contextos, com conselhos sobre sua aplicação em novas situações e uma discussão sobre as consequências de seu usoPadrões constituem um repertório de princípios gerais e de soluções idiomáticas elaborado por desenvolvedores experientes que os guiam na construção de softwareÉ uma técnica, uma diretriz
Por que estudar padrões?Melhorar a comunicação da equipe e o aprendizado individualAumentar a capacidade de modificação melhorada do códigoReutilizar soluçõesDecidir se disponho do projeto certo, não apenas de um projeto que funcione
Gangue dos Quatro
Arquitetura de aplicações corporativas
GRASP
Padrões GRASPPadrões de Princípios Gerais para Atribuição de Responsabilidade (General Responsibility Assignment Software Patterns)
Padrões GRASPEspecialista na informaçãoProblemaQual é o princípio básico de atribuição de responsabilidades a objetos?SoluçãoAtribuir a responsabilidade ao especialista na informação: a classe que tem a informação necessária para satisfazer a responsabilidade.BenefíciosO encapsulamento de informações é mantido.São estimuladas definições de classes « leves », de maior coesão, mais fáceis de compreender e manter.
Padrões GRASPCriadorProblemaQuem deve ser responsável pela criação de uma nova instância de uma classe?SoluçãoAtribua à classe B a responsabilidade de criar uma instância da classe A se uma das seguintes condições for verdadeira:B agrega objetos de A;B contém objetos de A;B registra instâncias de objetos de A;B usa de maneira muito próxima objetos de A;B tem os dados de iniciação que serão passados para A quando ele for criado.BenefíciosFavorece o acoplamento fraco
Padrões GRASPAcoplamento fracoProblemaComo favorecer a dependência baixa, o pequeno impacto à mudança e aumentar a reutilização?SoluçãoAtribuir uma responsabilidade de maneira que o acoplamento permaneça fraco.BenefíciosNão é afetado por mudanças em outros componentes;É simples de entender isoladamente;É conveniente para reutilização
Padrões GRASPAcoplamento fracoOpção 01Opção 02
Padrões GRASPCoesão altaProblemaComo manter a complexidade sob controle?SoluçãoAtribuir uma responsabilidade de forma que a coesão permaneça alta.BenefíciosMais clareza e facilidade de compreensão no projeto;Simplificação da manutenção e do acréscimo de melhorias;Favorecimento do acoplamento fraco;Aumento do potencial de reutilização
Padrões GRASPCoesão altaComo manter a complexidade sob controle?Acoplamento baixo
Como favorecer a dependência baixa, o pequeno impacto à mudança e aumentar a reutilização?Padrões GRASPControladorProblemaQuem deve ser responsável por tratar um evento de sistema?SoluçãoAtribuir a responsabilidade de receber ou tratar uma mensagem de um evento do sistema a uma classe que represente uma das seguintes escolhas:Represente todo o sistema, dispositivo ou subsistema;Represente um cenário de um caso de uso dentro do qual ocorra o evento do sistemaBenefíciosAumento das possibilidades de reutilização e de interfaces plugáveis;Conhecer o estado do caso de uso
Como tomar decisões de projeto?Qual dessas implementações é a melhor?Sob quais circunstâncias esta alternativa seria melhor que a outra?
Qual dessas circunstâncias é a que mais se assemelha ao meu domínio do problema?Pra saber maisJAVA DESIGN PATTERNShttp://www.allapplabs.com/java_design_patterns/java_design_patterns.htmJava Design Patterns At a Glancehttp://www.javacamp.org/designPattern/Java Design Patterns Reference and Exampleshttp://www.fluffycat.com/Java-Design-Patterns/
ObrigadoAntonio PassosE-mail: antoniopassos@gmail.com

Mais conteúdo relacionado

PDF
Softwares que Duram: Uma abordagem Arquitetônica
PPTX
Apresentação jsf 2.0
PPT
Desenvolvendo Produtos Com Java EE
KEY
Apresentando jsf
PPTX
Curso Java Web (JAVA, JSF, JPA)
PDF
JSF com Primefaces
PDF
Graficos com PrimeFaces
PPT
Spring Capitulo 06
Softwares que Duram: Uma abordagem Arquitetônica
Apresentação jsf 2.0
Desenvolvendo Produtos Com Java EE
Apresentando jsf
Curso Java Web (JAVA, JSF, JPA)
JSF com Primefaces
Graficos com PrimeFaces
Spring Capitulo 06

Destaque (11)

PDF
Prime Faces
PPTX
Bibliotecas de interface rica no jsf 2
PDF
Samir Mamude - Sistemas Comerciais Java EE
PDF
Tutorial JSF 2.0 (2012)
PDF
Caelum java-testes-jsf-web-services-design-patterns-fj22
PDF
JSF - JavaServer Faces
PDF
Aula 01 - UML e Padrões de Projeto
PDF
Persistência Java: Hibernate e JPA
PDF
Apostila Java Web com JSF, JPA e Primefaces
DOC
Desenvolvimento De Projetos
PDF
Projeto de WEB Site
Prime Faces
Bibliotecas de interface rica no jsf 2
Samir Mamude - Sistemas Comerciais Java EE
Tutorial JSF 2.0 (2012)
Caelum java-testes-jsf-web-services-design-patterns-fj22
JSF - JavaServer Faces
Aula 01 - UML e Padrões de Projeto
Persistência Java: Hibernate e JPA
Apostila Java Web com JSF, JPA e Primefaces
Desenvolvimento De Projetos
Projeto de WEB Site
Anúncio

Semelhante a Projeto e Implementação de Software Utilizando Padrões (20)

PPT
Padrões de Projeto
PDF
Introdução a Padrões de Projeto - Engenharia de Software
PDF
Tópico 10 - Padrões GRASP_De Análise ao Projeto.pdf
PDF
Intro padroesprojetoadaptertemplateobserver
PDF
Information Expert.pdf
PDF
Aula 02 - GRASP_I.pdf
PPT
pec-12-patterns-intro.ppt
PDF
Padrões de Projeto (GoF)
ODP
Design Patterns
PDF
Padroes De Projeto
PPT
Apresentação Introdução Design Patterns
PPTX
As vantagens e desvantagens da aplicação de padrões de projeto
PPT
Grasp Patterns.ppt
PPTX
Fundamentos de Padrões de Projeto de Software
PDF
Introdução a Padrões de Projeto
PDF
[CEFETMG][ESw] Aula 6 - Conceitos de projeto
PDF
Padrões de Projeto de Software
PPT
Padrões de design orientado a objetos
DOC
Travalho versao final
PPT
PadroesGRASP.ppt
Padrões de Projeto
Introdução a Padrões de Projeto - Engenharia de Software
Tópico 10 - Padrões GRASP_De Análise ao Projeto.pdf
Intro padroesprojetoadaptertemplateobserver
Information Expert.pdf
Aula 02 - GRASP_I.pdf
pec-12-patterns-intro.ppt
Padrões de Projeto (GoF)
Design Patterns
Padroes De Projeto
Apresentação Introdução Design Patterns
As vantagens e desvantagens da aplicação de padrões de projeto
Grasp Patterns.ppt
Fundamentos de Padrões de Projeto de Software
Introdução a Padrões de Projeto
[CEFETMG][ESw] Aula 6 - Conceitos de projeto
Padrões de Projeto de Software
Padrões de design orientado a objetos
Travalho versao final
PadroesGRASP.ppt
Anúncio

Mais de Antonio Passos (7)

PPS
Criação x evolução
PDF
Programação Server Side I - Aula 2
PPTX
DAWJ - Filtros
PPTX
Senai pais competentes = filhos brilhantes2
PPT
Senai pais competentes = filhos brilhantes1
PPT
Manipulando Bancos de Dados com JDBC
PDF
JSP - Expression Language
Criação x evolução
Programação Server Side I - Aula 2
DAWJ - Filtros
Senai pais competentes = filhos brilhantes2
Senai pais competentes = filhos brilhantes1
Manipulando Bancos de Dados com JDBC
JSP - Expression Language

Último (16)

PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Processos na gestão de transportes, TM100 Col18
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
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
COBITxITIL-Entenda as diferença em uso governança TI
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Processos na gestão de transportes, TM100 Col18
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...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Arquitetura de computadores - Memórias Secundárias
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
COBITxITIL-Entenda as diferença em uso governança TI

Projeto e Implementação de Software Utilizando Padrões

  • 1. Projeto e implementação de software utilizando padrões de projetoAntonio Passos
  • 2. AgendaDe onde vêm os padrões? Conceito de padrãoPor que estudar padrões?Alguns padrões conhecidos Padrões GRASPComo tomar decisões de projetoPra saber mais
  • 3. De onde vêm os padrões?Algo em comum aqui?Escadaria Selarón - RJBiblioteca Nacional - RJ
  • 4. De onde vêm os padrões?Pirâmide de Kukulcán - México
  • 5. De onde vêm os padrões?Pirâmide de Kukulcán - México
  • 6. De onde vêm os padrões?A beleza está realmente nos olhos de quem vê?Ou existe base objetiva para tal julgamento?
  • 7. De onde vêm os padrões?
  • 8. É possível projetar sistemas de forma metódica, racional, explicável?
  • 9. Conceitos de padrõesPar nomeado problema/solução que pode ser aplicado em novos contextos, com conselhos sobre sua aplicação em novas situações e uma discussão sobre as consequências de seu usoPadrões constituem um repertório de princípios gerais e de soluções idiomáticas elaborado por desenvolvedores experientes que os guiam na construção de softwareÉ uma técnica, uma diretriz
  • 10. Por que estudar padrões?Melhorar a comunicação da equipe e o aprendizado individualAumentar a capacidade de modificação melhorada do códigoReutilizar soluçõesDecidir se disponho do projeto certo, não apenas de um projeto que funcione
  • 13. GRASP
  • 14. Padrões GRASPPadrões de Princípios Gerais para Atribuição de Responsabilidade (General Responsibility Assignment Software Patterns)
  • 15. Padrões GRASPEspecialista na informaçãoProblemaQual é o princípio básico de atribuição de responsabilidades a objetos?SoluçãoAtribuir a responsabilidade ao especialista na informação: a classe que tem a informação necessária para satisfazer a responsabilidade.BenefíciosO encapsulamento de informações é mantido.São estimuladas definições de classes « leves », de maior coesão, mais fáceis de compreender e manter.
  • 16. Padrões GRASPCriadorProblemaQuem deve ser responsável pela criação de uma nova instância de uma classe?SoluçãoAtribua à classe B a responsabilidade de criar uma instância da classe A se uma das seguintes condições for verdadeira:B agrega objetos de A;B contém objetos de A;B registra instâncias de objetos de A;B usa de maneira muito próxima objetos de A;B tem os dados de iniciação que serão passados para A quando ele for criado.BenefíciosFavorece o acoplamento fraco
  • 17. Padrões GRASPAcoplamento fracoProblemaComo favorecer a dependência baixa, o pequeno impacto à mudança e aumentar a reutilização?SoluçãoAtribuir uma responsabilidade de maneira que o acoplamento permaneça fraco.BenefíciosNão é afetado por mudanças em outros componentes;É simples de entender isoladamente;É conveniente para reutilização
  • 19. Padrões GRASPCoesão altaProblemaComo manter a complexidade sob controle?SoluçãoAtribuir uma responsabilidade de forma que a coesão permaneça alta.BenefíciosMais clareza e facilidade de compreensão no projeto;Simplificação da manutenção e do acréscimo de melhorias;Favorecimento do acoplamento fraco;Aumento do potencial de reutilização
  • 20. Padrões GRASPCoesão altaComo manter a complexidade sob controle?Acoplamento baixo
  • 21. Como favorecer a dependência baixa, o pequeno impacto à mudança e aumentar a reutilização?Padrões GRASPControladorProblemaQuem deve ser responsável por tratar um evento de sistema?SoluçãoAtribuir a responsabilidade de receber ou tratar uma mensagem de um evento do sistema a uma classe que represente uma das seguintes escolhas:Represente todo o sistema, dispositivo ou subsistema;Represente um cenário de um caso de uso dentro do qual ocorra o evento do sistemaBenefíciosAumento das possibilidades de reutilização e de interfaces plugáveis;Conhecer o estado do caso de uso
  • 22. Como tomar decisões de projeto?Qual dessas implementações é a melhor?Sob quais circunstâncias esta alternativa seria melhor que a outra?
  • 23. Qual dessas circunstâncias é a que mais se assemelha ao meu domínio do problema?Pra saber maisJAVA DESIGN PATTERNShttp://www.allapplabs.com/java_design_patterns/java_design_patterns.htmJava Design Patterns At a Glancehttp://www.javacamp.org/designPattern/Java Design Patterns Reference and Exampleshttp://www.fluffycat.com/Java-Design-Patterns/