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.