Pular para o conteúdo principal

Questão de Engenharia de Software — Orientação a Objetos — FGV 2023

Engenharia de SoftwareOrientação a Objetos
Código
fg069426
Banca
FGV
Órgão
SEFAZ-MT
Ano
2023
Nível
Superior
Cargo
SEFAZ- MT - Fiscal de Tributos Estaduais (FTE) - Tarde
Pedro está trabalhando em um projeto de software orientado a objetos e especificou a classe Manage Schedules Handler que representa um tratador artificial de todos os eventos de sistema referente ao caso de uso Gerenciar Horários.Ao atribuir à classe Manage Schedules Handler essa responsabilidade, Pedro aplicou o princípio GRASP denominado
  1. Acontroller.
  2. Bcreator.
  3. Cinheritance.
  4. Dflyweight.
  5. Etemplate method.
Revelar gabarito e comentário

GabaritoA — controller.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

GRASP – Padrão Controller

Gabarito: letra A. A classe ManageSchedulesHandler foi criada para receber e coordenar todos os eventos do sistema referentes ao caso de uso "Gerenciar Horários". Esse papel de centralizar o tratamento de mensagens de um caso de uso é exatamente a definição do padrão GRASP Controller. O Controller é responsável por receber as requisições do sistema, delegar o trabalho a outros objetos e gerenciar o fluxo do caso de uso.

Alternativa A — ✅ Correta ⟵ GABARITO

O padrão Controller (GRASP) atribui a uma classe a responsabilidade de receber e coordenar as mensagens de um caso de uso, atuando como um "controlador" que gerencia os eventos do sistema. A classe ManageSchedulesHandler se encaixa perfeitamente nessa definição.

Alternativa B — ❌ Incorreta

O padrão Creator (GRASP) define quem deve ser responsável por criar novas instâncias de objetos, geralmente a classe que contém ou agrega os dados iniciais. Não se relaciona com a coordenação de eventos de um caso de uso.

Alternativa C — ❌ Incorreta

Inheritance (herança) é um princípio fundamental da orientação a objetos, mas não é um padrão GRASP. Herança permite reutilização de código entre classes, não trata da atribuição de responsabilidades de coordenação.

Alternativa D — ❌ Incorreta

Flyweight é um padrão de design (GoF) voltado para otimização de memória por compartilhamento de objetos. Não é um padrão GRASP e não se aplica ao contexto de atribuição de responsabilidades para casos de uso.

Alternativa E — ❌ Incorreta

Template Method é um padrão comportamental (GoF) que define o esqueleto de um algoritmo em uma operação, postergando a implementação de etapas para subclasses. Não é um padrão GRASP e não está relacionado à coordenação de eventos.

PEGA ESSA DICA!

Para questões sobre GRASP, foque nos padrões principais: Controller, Creator, Information Expert, Low Coupling, High Cohesion, Polymorphism, Pure Fabrication, Indirection e Protected Variations. Memorize a função de cada um; a banca costuma cobrar o reconhecimento de qual padrão se aplica a uma dada situação descrita.

Gabarito: letra A.

Link permanente: /questoes/fg069426