Padrões GRASP

Description

Informática Mind Map on Padrões GRASP, created by Bruna da Silva Gonçalves on 15/03/2018.
Bruna  da Silva Gonçalves
Mind Map by Bruna da Silva Gonçalves, updated more than 1 year ago
Bruna  da Silva Gonçalves
Created by Bruna da Silva Gonçalves over 6 years ago
7
0

Resource summary

Padrões GRASP
  1. Básicos
    1. 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.
      1. 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.
        1. 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.
          1. 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 .
            1. 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
              1. 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.
                1. 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.
                  1. 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.
                    1. 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.
                    2. Tipos de Responsabilidade
                      1. Fazer: fazer algo; iniciar ações em outros objetos; controlar e coordenar atividades em outros objetos
                        1. Conhecer: dados privados encapsulados; objetos relacionados; atributos que podem ser calculados ou derivados.
                        Show full summary Hide full summary

                        Similar

                        NOÇÕES DE INFORMÁTICA
                        Viviana Veloso
                        Informática conhecimentos básicos
                        thiago.tc3
                        História da informática
                        Renato Costa
                        Informática Para Concursos - Conceitos Iniciais (Part. 1)
                        ae.antunes
                        Apresentação-O que é Lógica e como ela está interligada com a programação?
                        Ketlen Dos Anjos
                        Noções de Informática
                        Carlos Jr Uchôa
                        Informática Básica
                        Neylor Farias Ma
                        Informática de A a Z
                        fabianomotta
                        Introdução ao Microsoft Word
                        Roberto Becker
                        Informática - questões gerais
                        António Mordido
                        Informatica para Concursos - Hardware básico
                        Rômulo Santos