Mapa mental
Padrões GRASP

Mapa mental: Padrões GRASP
Conteúdo do mapa
Padrões GRASP
Básicos
- Controlador: Atribuir a responsabilidade de tratar um evento do sistema para uma classe “controladora” representando: o sistema como um todo (facade controller); o negócio ou organização com um todo (facade controller); uma coisa ou papel de uma pessoa do mundo real envolvida diretamente com a tarefa (role controller); um “tratador” (handler) artificial para todos os eventos de um caso de uso (use-case controller). Aumento das possibilidades de reutilização e de interfaces plugáveis; garante que a lógica da aplicação não seja tratada na camada de interface; conhecer o estado do caso de uso; garantir que as operações do sistema ocorram em uma sequência válida.
- Acoplamento baixo/fraco: Atribui a responsabilidade de modo que o acoplamento (dependência entre classes) permaneça baixo. Responsabilidade de uma classe não é (ou é pouco) afetada por mudanças em outros componentes; Responsabilidade de uma classe é mais simples de entender isoladamente; Aumenta a chance de reutilização de uma classe.
- Alta coesão: Atribui a responsabilidade de modo que a coesão (força do relacionamento entre as responsabilidades de uma classe) permaneça alta. Aumento da clareza e compreensão do projeto; Simplificação de manutenção; Baixo acoplamento; Reuso facilitado.
- Criador: Atribui à classe B a responsabilidade de criar uma instância da classe A se uma das alternativas abaixo for verdadeira: B agrega ou contém instâncias de A B registra instâncias de A B usa instâncias A de maneira muito próxima B tem os dados de inicialização para criar instâncias de A B portanto é um especialista na criação de A. Acoplamento fraco: não aumenta o acoplamento pois provavelmente a classe criada já é visível à classe criadora devido às associações. Não é indicado se a criação de um objeto for uma tarefa complexa; Delegar a criação a uma classe auxiliar chamada Fábrica .
- Especialista: Atribui responsabilidade para o especialista na informação,a classe que tem a informação necessária para cumprir a responsabilidade. Mantém encapsulamento (baixo acoplamento); Comportamento é distribuído através das classes que tem a informação necessária para cumprir a responsabilidade (alta coesão);Viola a separação dos principais interesses.
Avançados
- Variações protegidas: • Identificar pontos de variação ou instabilidade previsível; atribuir responsabilidades para criar uma interface estável em torno deles; Evite enviar mensagens a objetos muito distantes.
- Indireção: Atribui a responsabilidade a um objeto intermediário que faça a mediação entre componentes ou serviços de modo que eles não sejam diretamente acoplados; Usar um objeto intermediário para ser o mediador entre componentes para que eles não sejam diretamente acoplados. Acoplamento mais fraco entre os componentes.
- Invenção pura: Cria uma classe artificial que não representa nenhuma entidade no domínio do problema. Uma classe fictícia que possibilite alta coesão, baixo acoplamento e o reuso. Coesão alta é favorecida; potencial de reutilização pode aumentar devido à presença de classes de Invenção Pura refinadas. Contra-indicações : uso extremo – funções simples se tornam objetos.
- Polimorfismo: Quando alternativas ou comportamentos relacionados variam segundo o tipo (classe), deve-se atribuir a responsabilidade pelo comportamento (usando operações polimórficas) aos tipos para os quais o comportamento varia. As extensões exigidas para as novas variações são fáceis de adicionar; novas implementações podem ser introduzidas sem afetar os clientes. Não usar polimorfismo para adicionar uma flexibilidade para uma possível futura variação.
Tipos de Responsabilidade
- Fazer: fazer algo; iniciar ações em outros objetos; controlar e coordenar atividades em outros objetos
- Conhecer: dados privados encapsulados; objetos relacionados; atributos que podem ser calculados ou derivados.
Informações
- Descrição
- Informática Mapa Mental sobre Padrões GRASP, criado por Bruna da Silva Gonçalves em 15-03-2018.
- Criado por
- Bruna da Silva Gonçalves
- Visualizações
- 7
- Tags
- Avaliação