📊 Capítulo 07: Padrões GRASP Fundamentais
Módulo 10: Paradigmas de Programação & Padrões de Projeto
🗺️ Visão Geral dos Padrões GRASP (Craig Larman)
flowchart LR
EXPERT["1. Information Expert"] --> CREATOR["2. Creator"] --> CTRL["3. Controller"] --> LC_HC["4. Low Coupling / High Cohesion"]
style EXPERT fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
style CREATOR fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style CTRL fill:#fce4ec,stroke:#e91e63,stroke-width:2px
style LC_HC fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
🎯 Slide 1: Information Expert (Especialista)
-
Diretriz Central: “Atribua a responsabilidade à classe que possui a informação necessária para cumpri-la”.
-
Benefício Direto: Encapsulamento máximo; o estado e o comportamento residem juntos no mesmo objeto.
- Evita Anti-Padrões: Impede que classes externas acessem atributos brutos via getters para fazer cálculos fora da entidade.
🎯 Slide 2: Padrão Creator (Criador)
-
Diretriz Central: “Classe B cria instâncias de A se B contém, agrega ou usa de perto A”.
-
Encapsulamento do Ciclo de Vida: O cliente não precisa saber como instanciar partes internas de uma estrutura composta.
- Coesão Natural: As classes que interagem diretamente são as mesmas que gerenciam a criação.
🎯 Slide 3: Padrão Controller & Coesão
-
Papel do Controller: É o primeiro objeto fora da UI que recebe requisições de casos de uso do sistema.
-
High Cohesion: Mantém a classe focada em tarefas correlacionadas e compreensíveis.
- Low Coupling: Reduz dependências entre subsistemas, garantindo reuso e facilidade de manutenção.
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim