Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — CESGRANRIO 2025
Arquitetura de Software›Padrõ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
AFaçade
BObserver
CAbstract Factory
DFactory Method
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.).