Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FCC 2019

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
fc057856
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2019
Cargo
Analista Judiciário - Sistemas de Tecnologia da Informação
Uma Analista de TI quer criar um aplicativo capaz de trocar mensagens entre diversas plataformas móveis, um Android enviando mensagem para um iOS, um Windows Phone trocando mensagens com um Android etc. O problema é que cada uma destas plataformas implementa maneiras diferentes de receber mensagens. Ela sabe que criar vários métodos para cada plataforma não seria uma solução adequada, pois, se o aplicativo precisar incluir uma nova plataforma, outros métodos teriam que ser criados. A modelagem de relacionamentos muitos para muitos pode deixar o projeto do sistema demasiadamente complexo. A Analista procurou, então, um padrão de projeto para utilizar na solução. Dentre os padrões GoF, encontrou um que permite definir um objeto que encapsula a forma como um conjunto de objetos interage. Este padrão promove o acoplamento fraco ao evitar que os objetos se refiram uns aos outros explicitamente e permite variar o uso da interação de forma independente. Atua como um interlocutor entre relacionamentos muitos para muitos, ao evitar uma referência explícita aos objetos, sendo adequado ao problema. Trata-se do padrão comportamental
  1. AMediator.
  2. BComposite.
  3. CAdapter.
  4. DFactory Method.
  5. EPrototype.
Revelar gabarito e comentário

GabaritoA — Mediator.

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 GoF: Mediator

Gabarito: letra A. O padrão descrito é o Mediator, um padrão comportamental que define um objeto intermediário (mediador) para encapsular as interações entre um conjunto de objetos, promovendo baixo acoplamento e eliminando referências explícitas entre eles. A descrição do problema — múltiplas plataformas com formas distintas de receber mensagens, necessidade de evitar relacionamentos muitos-para-muitos e desejo de variar a interação independentemente — encaixa-se perfeitamente na finalidade do Mediator.

A questão testa o reconhecimento das características dos padrões GoF a partir de uma situação prática. O padrão Mediator é um dos 23 padrões do catálogo GoF, classificado como comportamental. Ele atua como um "interlocutor" central, gerenciando a comunicação entre objetos que, de outra forma, precisariam conhecer uns aos outros explicitamente. Isso resolve o problema de acoplamento excessivo e complexidade em cenários com muitos relacionamentos.

Padrão GoF

Classificação

Objetivo Principal

Aplicação no Problema

Mediator

Comportamental

Encapsular a interação entre um conjunto de objetos, promovendo acoplamento fraco

Gerencia a comunicação entre múltiplas plataformas móveis, evitando referências explícitas entre elas

Composite

Estrutural

Compor objetos em estruturas de árvore para representar hierarquias parte-todo

Não se aplica, pois não há hierarquia de objetos

Adapter

Estrutural

Converter a interface de uma classe em outra interface esperada pelo cliente

Não se aplica, pois o foco não é adaptar interfaces, mas gerenciar interações

Factory Method

Criacional

Definir uma interface para criar objetos, delegando a instanciação para subclasses

Não se aplica, pois não envolve criação de objetos

Prototype

Criacional

Criar novos objetos a partir de um protótipo, clonando instâncias existentes

Não se aplica, pois não envolve clonagem de objetos

Padrões GoF
  • 1Comportamentais
    • Mediator (encapsula interação)
  • 2Estruturais
    • Composite (hierarquia parte-todo)
    • Adapter (converte interface)
  • 3Criacionais
    • Factory Method (cria objetos)
    • Prototype (clona objetos)
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

O Mediator é exatamente o padrão que encapsula a interação entre objetos, promovendo acoplamento fraco e permitindo que as interações variem independentemente. A descrição do enunciado é uma definição clássica desse padrão.

Alternativa B — ❌ Incorreta

O padrão Composite é um padrão estrutural usado para compor objetos em estruturas de árvore para representar hierarquias parte-todo. Não trata de mediação de interações entre objetos.

Alternativa C — ❌ Incorreta

O padrão Adapter é um padrão estrutural que converte a interface de uma classe em outra interface esperada pelos clientes. Ele permite que classes com interfaces incompatíveis trabalhem juntas, mas não gerencia interações múltiplas e nem evita referências explícitas entre um conjunto de objetos.

Alternativa D — ❌ Incorreta

O padrão Factory Method é um padrão criacional que define uma interface para criar um objeto, mas permite que as subclasses decidam qual classe instanciar. Não está relacionado à intermediação de comunicação entre objetos.

Alternativa E — ❌ Incorreta

O padrão Prototype é um padrão criacional que permite criar novos objetos a partir da clonagem de um protótipo. Também não tem relação com o problema de mediação de interações.


Gabarito: letra A.

Link permanente: /questoes/fc057856