2. Agenda De onde vêm os padrões? Conceito de padrão Por que estudar padrões? Alguns padrões conhecidos Padrões GRASP Como tomar decisões de projeto Pra saber mais
3. De onde vêm os padrões? Algo em comum aqui? Escadaria Selarón - RJ Biblioteca 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?
10. Por que estudar padrões? Melhorar a comunicação da equipe e o aprendizado individual Aumentar a capacidade de modificação melhorada do código Reutilizar soluções Decidir se disponho do projeto certo, não apenas de um projeto que funcione
14. Padrões GRASP Padrões de Princípios Gerais para Atribuição de Responsabilidade (General Responsibility Assignment Software Patterns)
15. Padrões GRASPEspecialista na informação Problema Qual é o princípio básico de atribuição de responsabilidades a objetos? Solução Atribuir a responsabilidade ao especialista na informação: a classe que tem a informação necessária para satisfazer a responsabilidade. Benefícios O 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 GRASPCriador Problema Quem deve ser responsável pela criação de uma nova instância de uma classe? Solução Atribua à 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ícios Favorece o acoplamento fraco
17. Padrões GRASPAcoplamento fraco Problema Como favorecer a dependência baixa, o pequeno impacto à mudança e aumentar a reutilização? Solução Atribuir uma responsabilidade de maneira que o acoplamento permaneça fraco. Benefícios Não é afetado por mudanças em outros componentes; É simples de entender isoladamente; É conveniente para reutilização
19. Padrões GRASPCoesão alta Problema Como manter a complexidade sob controle? Solução Atribuir uma responsabilidade de forma que a coesão permaneça alta. Benefícios Mais 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