Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — CESGRANRIO 2025

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
cg023508
Banca
CESGRANRIO
Órgão
BANESE
Ano
2025
Nível
Médio
Cargo
Técnico Bancário III - Desenvolvimento
M desempenha o papel de líder de arquitetura de software em uma empresa. Percebeu, junto com sua equipe, a necessidade de desenvolver, em uma linguagem orientada a objetos, um esqueleto de um algoritmo, composto por um conjunto de passos na sua superclasse. A definição de alguns desses passos deverá ser postergada para as suas subclasses. Vale destacar que a estrutura do algoritmo, ou seja, a ordem, definida na superclasse, em que os passos serão executados não poderá ser mudada, podendo-se alterar, a partir das subclasses, o que será executado por alguns dos passos.Nesse caso, o padrão de projeto utilizado por M e sua equipe é o
  1. AFaçade
  2. BObserver
  3. CAbstract Factory
  4. DFactory Method
  5. ETemplate Method
Revelar gabarito e comentário

GabaritoE — Template Method

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”.

Padrão Template Method em Design Patterns

Gabarito: letra E. O padrão Template Method define o esqueleto de um algoritmo em um método na superclasse, permitindo que subclasses redefinam partes específicas sem alterar a estrutura geral. A descrição do enunciado — "esqueleto de um algoritmo, composto por um conjunto de passos na sua superclasse" com postergação de alguns passos para subclasses e ordem imutável — corresponde exatamente a esse padrão comportamental.

Template Method
  • 1Superclasse
    • Esqueleto do algoritmo
    • Ordem fixa dos passos
  • 2Subclasses
    • Redefinem passos específicos
    • Não alteram a estrutura
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Façade é um padrão estrutural que fornece uma interface simplificada para um subsistema complexo. Não se relaciona com a definição de passos de um algoritmo nem com herança.

Alternativa B — ❌ Incorreta

Observer é um padrão comportamental que define uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda de estado, todos os seus dependentes são notificados. Não envolve esqueleto de algoritmo nem postergação de passos.

Alternativa C — ❌ Incorreta

Abstract Factory é um padrão criacional que fornece uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas. Não trata de sequência de passos.

Alternativa D — ❌ Incorreta

Factory Method é um padrão criacional que define uma interface para criar um objeto, mas permite que subclasses decidam qual classe instanciar. Embora use herança, o foco é na criação de objetos, não na estrutura de um algoritmo.

Alternativa E — ✅ Correta ⟵ GABARITO

Template Method é o padrão que se encaixa perfeitamente: na superclasse, define-se um método que contém a estrutura (esqueleto) do algoritmo, com chamadas a métodos abstratos ou que podem ser sobrescritos; as subclasses implementam esses passos específicos, mantendo a ordem inalterada.

PEGA ESSA DICA!

Ao encontrar descrições como "esqueleto de algoritmo", "passos definidos na superclasse", "subclasses podem alterar partes", "ordem fixa", lembre-se imediatamente de Template Method. É um dos padrões mais clássicos do GoF (Gamma et al.).

Gabarito: letra E

Link permanente: /questoes/cg023508