Alternativa C
Análise da Questão
Esta questão aborda o padrão de projeto GRASP (General Responsibility Assignment Software Patterns), especificamente o padrão Controlador. Para identificar a resposta correta, é necessário entender a responsabilidade teórica desse componente na arquitetura de software orientada a objetos.
O que é o Padrão Controlador?
Segundo Craig Larman, autor seminal sobre o tema, um Controlador do Sistema é um objeto que:
- Recebe e processa solicitações de entrada do sistema.
- Coordena as atividades entre outros objetos para realizar uma tarefa específica.
- Não contém a lógica de negócio principal, mas sim a lógica de controle do fluxo.
Por que a Alternativa C é a Correta?
A opção C descreve exatamente a função teórica do Controlador:
- "Coordena e controla os módulos...": Refere-se à delegação de tarefas para outras classes (como Entidades ou Interfaces).
- "...resposta a eventos lógicos de sistema gerados pela camada de interface...": Descreve o fluxo correto onde a camada de Interface (Boundary) captura o evento físico e converte em um evento lógico para o Controlador processar.
Análise das Demais Alternativas
| Alternativa | Motivo da Incorretidade |
|---|
| A | Descreve mais um Navegador ou View. O Controlador não foca no fluxo visual de telas, mas na execução da operação. |
| B | Descreve a Lógica de Negócio (Modelo Domínio). O Controlador deve delegar essa lógica, não centralizá-la. |
| D | Confunde padrões. GoF Strategy é sobre algoritmos intercambiáveis, enquanto GRASP Controller é sobre responsabilidade de sistemas. |
| E | Embora tecnicamente possível usar um Servlet como controlador em Java Web, esta é uma implementação específica. A definição conceitual (Alternativa C) é a resposta teórica completa sobre o padrão. |
Conclusão
A alternativa C é a única que define corretamente a responsabilidade abstrata do padrão Controlador no contexto de análise e design de software (GRASP), focando na coordenação de respostas a eventos originados na interface.