Design Patterns Israel Rios 1
Origens A idéia de padrões de projeto não teve origem na ciência da computação Christopher Alexander A Pattern Language: Towns, Buildings, Construction Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides Design Patterns – Elements of Reusable Object. Oriented Software 2
O Que É? Descrição de um problema que acontece várias vezes Apresenta a solução (genérica) para este problema Documentação de experiências 3
Estrutura Básica Problema Contexto Solução Conseqüências 4
Software Patterns Qualidade de software Comunicação das melhores práticas Ajudar desenvolver a resolver problemas comuns e difíceis 5
Porque Usar Design Patterns? Projetar software orientado a objetos iniciando do zero é difícil Software reutilizável é ainda mais difícil Evitar redescobrir e sim reutilizar 6
Organização Quanto ao seu propósito Criacional Estrutural Comportamental 7
Organização Escopo Classe Objeto Criação Estrutura Comportamento Factory Method Adapter (elasse) Interpreter Template Method Abstract Factory Adapter(objeto) Builder Bridge Prototype Composite Singleton Decorator Facade Flyweight Proxy Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor 8
Descrição De Patterns Partes integrantes (voltado a orientação a objetos) Nome do pattern Descrição do problema Motivação Aplicação Estrutura 9
Descrição De Patterns Partes integrantes Participantes Colaborações Implementação Conseqüências Exemplo de implementação Patterns relacionados 10
Como Usar? 1. Leia o pattern uma vez, prestando atenção nas seções de aplicabilidade e conseqüência 2. Volte e estude as seções de estrutura, participantes e colaboração 3. Procure a seção de exemplo de código para ver um exemplo concreto do pattern em código 11
Como Usar? 4. Escolha nomes para participantes do pattern que sejam significativos no contexto da aplicação 5. Defina as classes. Identifique as classes existentes em sua aplicação que o pattern afetará e modifique-as de acordo 6. Defina nomes específicos da aplicação para operações no pattern 7. Implemente as operações para cumprir as responsabilidades e colaborações no pattern 12
Conclusão Provê um mecanismo semelhante ao “componente” durante a fase de projeto Simplifica a análise Diminui a distância entre projetistas iniciantes e experientes 13
Referências Bibliográficas KIRK, DAVID. Design Patterns and View. Kit. Motif. Developers. SALVIANO, C. F. Introdução à Software Patterns. XI SBES. Fortaleza – Ceará. 1517 de outubro 1997. 14