Frameworks, Padrões e Princípios GRASP

Classificado em Computação

Escrito em em português com um tamanho de 2,3 KB.

Framework

Um framework é um conjunto de classes relacionadas que permitem a reutilização em um projeto com classes específicas do software. É mais que uma hierarquia de classes, representando uma aplicação em miniatura, completa, com estruturas dinâmicas e estáticas bem definidas.

Padrão

Cada padrão descreve um problema recorrente em nosso ambiente e o núcleo da solução, permitindo sua reutilização inúmeras vezes, de maneiras diferentes.

GRASP (Padrões de Princípios Gerais para Atribuição de Responsabilidades)

Expert (Especialista)

Atribui a responsabilidade à classe que possui a informação necessária (o especialista).

Creator (Criador)

Atribui à classe B a responsabilidade de criar a instância da classe A se uma das seguintes condições for verdadeira:

  • B contém A
  • B agrega A
  • B tem os dados de inicialização de A
  • B registra A
  • B usa A intensamente

Controller (Controlador)

Atribui a responsabilidade de tratar eventos do sistema a:

  • O sistema em geral (controlador fachada)
  • Uma classe artificial que representa o caso de uso (controlador de caso de uso)
  • Outras classes apropriadas

Low Coupling (Acoplamento Fraco)

Atribui responsabilidades para minimizar dependências e maximizar a reutilização.

High Cohesion (Coesão Alta)

Atribui responsabilidades para manter a complexidade controlável.

Polymorphism (Polimorfismo)

Quando comportamentos variam conforme a classe, atribui a responsabilidade pelo comportamento, usando operações polimórficas, aos tipos para os quais o comportamento varia.

Pure Fabrication (Invenção Pura)

Atribui responsabilidades coesas a uma classe artificial que não representa o domínio do problema para manter coesão alta, acoplamento fraco e reutilização.

Indirection (Indireção)

Atribui a responsabilidade a um objeto intermediário para mediar a comunicação entre componentes e serviços, evitando o acoplamento direto.

Don't Talk to Strangers (Lei de Demétrio)

Atribui a responsabilidade de colaborar com um objeto indireto a um objeto direto, para que o cliente não precise conhecer o objeto indireto.

Entradas relacionadas: