Sobes.tech
Senior

O que é o GRASP?

sobes.tech IA

Resposta da IA

O GRASP (Padrões de Atribuição de Responsabilidade Geral de Software) é um conjunto de princípios universais para atribuir responsabilidades a classes e objetos no design orientado a objetos. Eles ajudam a criar sistemas flexíveis, fáceis de manter e reutilizáveis. Os principais padrões do GRASP incluem:

  • Especialista em Informação: Um objeto que possui a informação necessária para realizar uma ação deve assumir a responsabilidade por essa ação.
  • Criador: A classe que contém ou agrega instâncias de outras classes, está estreitamente relacionada com elas ou possui dados de inicialização para criá-las, deve assumir a responsabilidade por sua criação.
  • Controlador: A classe responsável por lidar com eventos do sistema (por exemplo, ações do usuário), deve coordenar o trabalho de outros objetos, mas não realizar o trabalho em si.
  • Fabricação Pura: Classe criada artificialmente, que não reflete a conceituação do domínio, mas criada para reduzir o acoplamento, melhorar a coesão ou facilitar a reutilização.
  • Baixo Acoplamento: Princípio de design que visa minimizar as dependências entre classes.
  • Alta Coesão: Princípio de design que visa que os métodos de uma classe estejam estreitamente relacionados em funcionalidade.
  • Polimorfismo: Atribuição de responsabilidades para escolher comportamentos com base no tipo de objeto (por meio de métodos virtuais).
  • Variações Protegidas: Princípio de design que protege contra mudanças em outros elementos (objetos, subsistemas, sistemas) através da definição de uma interface estável.
  • Indireção: Atribuição de responsabilidades a um objeto intermediário para evitar uma ligação direta entre dois elementos.

A aplicação do GRASP ajuda a evitar controladores e gerentes "pesados", melhorar a estrutura do código e facilitar sua evolução.