Pular para o conteúdo principal

Questão de Engenharia de Software — Padrões de Projeto (Engenharia de Software) — CESPE / CEBRASPE 2025

Engenharia de SoftwarePadrões de Projeto (Engenharia de Software)
Código
ce417750
Banca
CESPE / CEBRASPE
Órgão
PC DF
Ano
2025
Cargo
GAAPC ( )

A respeito do padrão arquitetural MVVM (Model, View e View-Model) e dos padrões de projetos GoF, julgue o item a seguir.

 

O padrão Facade simplifica a interação com sistemas internos ao consolidar várias funcionalidades em uma única interface, proporcionando um acesso simplificado aos subsistemas sem alterar sua estrutura ou autonomia.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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 Facade (GoF)

Gabarito: Errado (E). A afirmativa está incorreta porque, embora o padrão Facade realmente forneça uma interface unificada e simplificada para um sistema complexo, ele não consolida várias funcionalidades em uma única interface — ele apenas cria uma fachada que delega chamadas aos subsistemas, que permanecem intactos e acessíveis. A descrição apresentada mistura o conceito de Facade com o de um mediador ou agregador, que de fato consolida funcionalidades. A definição clássica do GoF (Gamma et al., 1995) é: "fornecer uma interface unificada para um conjunto de interfaces de um subsistema", sem alterar a estrutura ou autonomia dos subsistemas.

O padrão Facade é um dos 23 padrões de projeto do catálogo GoF, classificado como padrão estrutural. Seu objetivo é reduzir o acoplamento entre o cliente e os componentes internos de um sistema complexo, oferecendo um ponto único de entrada (a fachada) que delega as chamadas para os subsistemas apropriados. A fachada não encapsula os subsistemas — ela apenas os organiza e simplifica o acesso a eles. Isso significa que os subsistemas permanecem acessíveis diretamente, caso necessário, e mantêm sua autonomia e estrutura original.

Na prática, imagine um sistema de reserva de viagens que envolve subsistemas de passagens aéreas, hotéis e aluguel de carros. Sem o Facade, o cliente precisaria conhecer e interagir com cada subsistema individualmente, o que aumenta o acoplamento e a complexidade. Com o Facade, o cliente chama um único método (por exemplo, reservarViagem()), e a fachada orquestra as chamadas internas aos três subsistemas. O cliente não precisa saber como cada subsistema funciona, mas eles continuam existindo e operando de forma independente.

A distinção crucial está no verbo: o Facade simplifica o acesso, mas não consolida as funcionalidades. Consolidar implicaria fundir ou integrar as funcionalidades em uma única entidade, o que alteraria a estrutura dos subsistemas. O Facade, ao contrário, preserva a autonomia de cada subsistema, apenas escondendo sua complexidade atrás de uma interface mais amigável. Essa é a pegadinha da questão: a banca troca o conceito de "simplificar" por "consolidar", induzindo o candidato a aceitar uma definição imprecisa.

NÃO CAIA NESSA!

A banca troca o verbo "simplificar" por "consolidar". O Facade simplifica o acesso a um sistema complexo, mas não consolida funcionalidades — consolidar implicaria fundir os subsistemas, o que violaria sua autonomia. Fique atento a essa troca sutil de termos, que é uma armadilha clássica em questões sobre padrões de projeto.

1Estrutural
2Objetivo
Interface unificada
Simplifica acesso
Não consolida funcionalidades
3Características
Delega chamadas aos subsistemas
Subsistemas permanecem autônomos
Reduz acoplamento
4Confusões comuns
Mediator (consolida)
Adapter (converte interfaces)
Decorator (adiciona dinamicamente)
Facade (GoF)
LEVELsoulevel.com.br
Facade (GoF): Estrutural; Objetivo (Interface unificada, Simplifica acesso, Não consolida funcionalidades); Características (Delega chamadas aos subsistemas, Subsistemas permanecem autônomos, Reduz acoplamento); Confusões comuns (Mediator (consolida), Adapter (converte interfaces), Decorator (adiciona dinamicamente))

Alternativa E — ❌ Incorreta ⟵ GABARITO

A afirmativa está errada porque o padrão Facade não "consolida várias funcionalidades em uma única interface". O que ele faz é fornecer uma interface unificada e simplificada para um conjunto de interfaces de um subsistema, delegando as chamadas aos subsistemas, que permanecem intactos e autônomos. A palavra "consolidar" sugere uma fusão ou integração das funcionalidades, o que não ocorre no Facade — ele apenas esconde a complexidade, sem alterar a estrutura interna dos subsistemas. O erro está na troca do verbo "simplificar" por "consolidar", que muda o sentido da definição.

PEGA ESSA DICA!

Para diferenciar o Facade de outros padrões estruturais, lembre-se: o Facade simplifica o acesso (interface única), o Adapter converte interfaces incompatíveis, e o Decorator adiciona funcionalidades dinamicamente. Se a questão falar em "consolidar" ou "fundir" funcionalidades, desconfie — isso não é Facade.

Gabarito: letra E — a afirmativa está errada.

Link permanente: /questoes/ce417750