Baixe o app para aproveitar ainda mais
Prévia do material em texto
Padrões de Projeto Soluções reutilizáveis de software orientado a objetos Ementa • Introdução • Estudo de Caso • Catálogo de Padrões – Padrões de Criação – Padrões Estruturais – Padrões Comportamentais • Exercícios • Referências Introdução “Cada padrão descreve um problema no nosso ambiente e o cerne da solução, de tal forma que você possa usar essa solução milhões de vezes, sem nunca fazê-lo da mesma maneira” Chistopher Alexander (Arquiteto e Urbanista) Elementos essenciais de um PPOO • Nome – Resume em uma ou duas palavras: O problema, as soluções e consequências do uso do padrão. • O Problema – Descreve quando aplicar o padrão. Explica o problema e seu contexto, sintomas e condições. • A Solução – Elementos que constituem o designer, seus relacionamentos, responsabilidades e colaboradores. • As consequências – Resultados decorrentes da aplicação do padrão – Impactos sobre a flexibilidade, portabilidade ou desempenho do sistema. Características de PPOO • Soluções... – Sucintas (Fácil aplicação) – Refinadas (Resultado de longo processo de projeto , re-projeto e testes) – Compartilhadas (Construídas em grupo, através de um vocabulário comum) • O que não é: – Não são projetos, apenas procuram descrever num cotexto particular uma solução para um problema. Catálogo de Padrões de Projeto OO Total de 23 padrões Propósito De Criação Estrutural Comportamental Escopo Classe Factory Method Adapter Interpreter Template Method Objeto Abstract Factory Builder Prototype Singleton Bridge Composite Decorator Facade Flyweight Proxy Chain of Responsability Command Iterator Mediator Memento Observer State Strategy Visitor Objetivos e Usabilidade • Técnica para construção e análise de software reusável. • O valor dos design patterns reside no fato que eles são soluções que foram utilizadas e testadas, o que nos dá confiança em sua eficácia. Princípios comuns de design • Keep It Simple Stupid (KISS) Mantenha Isto Estupidamente Simples • Don’t Repeat Yourself (DRY) Não Repita Você Mesmo • Tell, Don’t Ask Fale, não pergunte • You Ain’t Gonna Need It (YAGNI) Você Não Vai precisar Disso • Separation Of Concerns (SoC) Separação de Responsabilidades • Evitar complexidade desnecessária. • Evite lógica duplicada • Encapsular e usar • Crie somente o necessário • Separação de responsabilidade de classes Relacionamento entre os PPOO Como selecionar um padrão de projeto? • Considerar como os padrões de projeto solucionam problemas de projeto. • Examinar qual a intenção do padrão, ou seja, o que faz de fato o padrão de projeto, quais seus princípios e que tópico ou problema particular de projeto ele trata (soluciona). • Estudar como os padrões se relacionam. • Estudar as semelhanças existentes entre os padrões. • Examinar uma causa de reformulação de projeto. Exercícios • Crie uma aplicação que realize saques e depósitos a partir de clientes PF e PJ. • Depósitos realizados em contas de clientes PF tem uma taxa de 3% somada ao valor de depósito. • Saques realizados em contas de clientes PJ tem taxa de 2% descontada em cada saque. • Ao final imprima um relatório com as opções escolhidas no menu principal. • Desenhar diagrama UML, suas classes, relações, atributos e métodos. • Utilizar Herança e Polimorfismo. • Encapsular e proteger os atributos. Referências • Designer Patterns (Gof) – Autores: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissdes. • www.dofactory.com/patterns • https://sites.google.com/site/professor ramonpontes/
Compartilhar