Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FADE - UFPE 2023
Arquitetura de Software›Padrões de projeto (Design Patterns)
Código
qq866859
Banca
FADE - UFPE
Órgão
UFPE
Ano
2023
Nível
Superior
Cargo
FADE - - Analista de Tecnologia da Informação - Área: Sistemas
O padrão de projeto que anexa, dinamicamente, responsabilidades adicionais a um objeto, fornecendo uma alternativa flexível à herança, para estender a funcionalidade é denominado
AProxy.
BDecorator.
CFaçade.
DSingleton.
ETemplate Method.
Revelar gabarito e comentário▾
GabaritoB — Decorator.
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ões de Projeto: Decorator
Gabarito: letra B (Decorator). O padrão Decorator (também conhecido como Wrapper) permite anexar responsabilidades adicionais a um objeto de forma dinâmica, fornecendo uma alternativa flexível à herança para estender funcionalidades. É exatamente a definição apresentada no enunciado.
O Decorator é um padrão estrutural que utiliza composição em vez de herança para adicionar comportamentos. Com ele, é possível "decorar" um objeto com novas funcionalidades sem modificar sua estrutura original.
Padrões Estruturais
1Decorator (GABARITO)
Anexa responsabilidades dinamicamente
Alternativa flexível à herança
Usa composição
2Proxy
Controle de acesso
Lazy loading / logging
3Façade
Interface simplificada para subsistema
4Padrões Criacionais
Singleton
Instância única global
5Padrões Comportamentais
Template Method
Esqueleto de algoritmo
Passos delegados a subclasses
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
O padrão Proxy fornece um substituto ou representante de outro objeto para controlar o acesso a ele, mas não se destina a adicionar responsabilidades dinâmicas. Sua função é controle de acesso, lazy loading, logging, etc.
Alternativa B — ✅ Correta ⟵ GABARITO
O Decorator é exatamente o padrão que "anexa dinamicamente responsabilidades adicionais a um objeto, fornecendo uma alternativa flexível à herança para estender a funcionalidade". Ele permite envolver um objeto em uma cadeia de decoradores, cada um adicionando um comportamento específico.
Alternativa C — ❌ Incorreta
O Façade oferece uma interface simplificada para um conjunto de interfaces de um subsistema, facilitando seu uso. Não está relacionado a estender funcionalidades de um objeto individual.
Alternativa D — ❌ Incorreta
O Singleton garante que uma classe tenha apenas uma única instância e fornece um ponto global de acesso a ela. Nada tem a ver com adicionar responsabilidades dinâmicas.
Alternativa E — ❌ Incorreta
O Template Method define o esqueleto de um algoritmo em uma operação, postergando a definição de alguns passos para subclasses. Embora envolva herança, não adiciona responsabilidades a um objeto dinamicamente.
PEGA ESSA DICA!
Em questões sobre padrões de projeto, fique atento às palavras-chave: "dinamicamente", "alternativa à herança" e "responsabilidades adicionais" são marcas registradas do Decorator. Decore também as definições dos padrões mais cobrados: Proxy (controle de acesso), Façade (fachada), Singleton (instância única) e Template Method (esqueleto de algoritmo).