Questão nº 70
Questão de Tecnologia da Informação · FGV TCE-SP 2023 (nº 70)
Pedro criou uma cesta de compras virtual, onde é apresentado o valor total por item, considerando a quantidade, e o valor da compra, com a soma dos valores dos itens. Em seu sistema, ele criou as classes Produto, ItemCesta e Cesta, cada uma com os dados relacionados às tabelas do banco, o método que calcula o valor total do item na classe ItemCesta, e o cálculo do valor da compra é efetuado na classe Cesta.
A estratégia adotada por Pedro segue o padrão:
- AInformation Expert; (alternativa correta)
- BCreator;
- CPure Fabrication;
- DController;
- EPolymorphism.
Resposta comentada
Gabarito Alternativa A
O padrão Information Expert (Especialista da Informação) atribui a responsabilidade de realizar uma operação à classe que possui todas as informações necessárias para executá-la.
- (A) Correta: A classe
ItemCestapossui a quantidade e pode acessar o preço do produto, sendo a especialista para calcular seu próprio total; a classeCestapossui osItemCestas, sendo a especialista para calcular o total da compra. - (B) Incorreta: O padrão Creator trata da responsabilidade de criar instâncias de classes, não de calcular valores. A armadilha aqui é confundir a relação de "conter" (Cesta contém ItemCesta) com a responsabilidade de "criar", quando a questão foca claramente em "calcular".
- (C) Incorreta: Pure Fabrication é usado para criar classes artificiais quando as classes do domínio não são adequadas para uma responsabilidade, o que não é o caso aqui, pois as responsabilidades se encaixam naturalmente nas classes de domínio.
- (D) Incorreta: O padrão Controller lida com a responsabilidade de receber e coordenar eventos do sistema ou da interface do usuário, não com cálculos internos de objetos de domínio.
- (E) Incorreta: Polymorphism é sobre atribuir responsabilidades a diferentes tipos para que se comportem de maneira diferente, o que não é descrito no cenário de cálculo de valores.
Fonte: FGV TCE-SP 2023 Agente da Fiscalização - TI (Caderno Tipo 1). Reproduzida para fins de estudo.