Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FADE - UFPE 2023

Arquitetura de SoftwarePadrõ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
  1. AProxy.
  2. BDecorator.
  3. CFaçade.
  4. DSingleton.
  5. 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).

Gabarito: letra B.

Link permanente: /questoes/qq866859