O GoConqr está de visual novo! Conte para nós o que você achou.

Mapa mental

Padrões GRASP

Bruna da Silva Gonçalves Informática Português

Mapa mental sobre padrões GRASP: básicos, avançados e tipos de responsabilidade

Mapa mental: Padrões GRASP

Conteúdo do mapa

Padrões GRASP

  1. 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.
  2. 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.
  3. 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.
Visualizações
7
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?