GRASP Flashcards

1
Q

GRASP

A

General Responsibility Assignment Software Patterns

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Distribuição de Responsabilidades

A

Obrigações que um objeto possui quando se leva em consideração seu papel

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

RDD

A

Responsibility Driven Design - Responsabilidades claramente definidas e bem compreendidas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Expert

A

Determina quando devemos delegar a responsabilidade a outro objeto especialista no assunto, domínio (expert). Identifica quais classes possuem as informações necessárias para lidar com a tarefa de forma eficiente.

A medida que os sistemas crescem podemos nos ver colocando muita lógica em nossos controladores (inchados). O Expert Pattern permite criar uma classe especializada em uma parte específica. (no spring é o service)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Controller

A

Atribui responsabilidade para lidar com eventos do sistema. Gerencia o fluxo de interações e coordena as ações entre as diferentes partes. Evita duplicação de código e mantém as regras de negócio centralizadas. Permite que as interfaces sejam separadas de forma clara dos objetos de negócio. (interface web, android, usando apis de negócio).
Interface entre o usuário e chamada de negócio (volante do carro).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Creator

A

Determina qual classe deve ser responsável pela criação do objeto.
Permite injeção de dependência e baixo acoplamento. Equivale aos criacionais do GoF.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

High Coesion

A

Classes devem focar apenas em sua responsabilidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Low Coupling

A

Classes não devem depender de outros objetos concretos mas sim de abstrações para permitir que haja mudança sem impacto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly