Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Padrões GRASP por Mind Map: Padrões GRASP

1. GRASP x GOF: é importante ressaltar que os padrões GRASP são diferentes dos padrões GOF, uma vez que estes apresentam soluções mais específicas enquanto os que veremos nesse resumo apresentam técnicas abrangentes que também ocorrem dentro dos padrões GOF.

2. GRASP - General Responsability Assignment Software Patterns. Trauzindo, seu nome indica que esses padrões tratam bastante sobre formas de distribuir responsabilidades (implementadas, executadas pelos métodos das classes) às classes do software.

3. Padrões GRASP

4. Protected variations: diretamente ligado ao indirection, e protege elementos das classes iniciais daqueles mediadores, de forma a reunir o foco de potenciais mudanças no sistema em uma só classe.

5. Pure fabrication: classe artificial que não possui um domínio de problema, a chamada classe "serviço". Um acessório, adendo à classe necessária que é, agora sim, baseada em um determinado domínio de problema.

6. Polimorfismo: evita o uso excessivo de if-else, serve para importar métodos de uma classe uma vez que a classe sendo criada precisa/utiliza desse exato mesmo método.

7. Vejamos alguns exemplos de padrões GRASP, dividos entre mais básicos (verde) e avançados (azul):

8. Controller: recebe e manipula eventos do sistema ("porteiro"), ele é quem irá receber a demanda de uma responsabilidade a ser cumprida e irá delegar para o objeto que julga ser adequado. Um coordenador de atividades.

9. Creator: pode ser baseado na pergunta "quem deve criar novas instâncias de uma classe?" . Suponhamos que há uma classe 1 base, com atributos, dados... Se uma classe 2 em determinado momento usar de forma próxima algum dado, ou criar algum método que use a classe 1 de alguma forma, logo chamamos essa classe 2 de Creator.

10. Indirection: uma vez que ligar diretamente duas classes pode não ser viável e apresenta potenciais complicações , o indirection propõe como solução a criação de uma classe mediadora entre essas classes principais, a qual irá dialogar com elas.

11. Expert: ao identificar um comportamento, irá ocorrer uma análise a respeito de quais informações serão necessárias para que este comportamento seja executado com êxito. A partir dessa análise, o expert (que também a realizou) irá designar a responsabilidade desse comportamento para o agente mais adequado.