Pular para o conteúdo principal

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

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
fc018265
Banca
FCC
Órgão
CNMP
Ano
2015
Nível
Superior
Cargo
Analista do - Tecnologia de Informação e Comunicação Desenvolvimento de Sistemas
Um Analista de Desenvolvimento de Sistemas do CNMP deve indicar o padrão de projeto mais adequado para ser aplicado na seguinte situação:Uma aplicação que existe simultaneamente em um dispositivo móvel e no ambiente corporativo, necessita de um processo de sincronização entre as informações processadas no dispositivo móvel e na base corporativa. Ambas as aplicações devem se comunicar com um objeto que deve ser único para processar este sincronismo, a fim de evitar a possibilidade de criar dados na base.O padrão de projeto corretamente indicado pelo Analista deve ser
  1. AFactory Method, um padrão de criação, que busca definir o fluxo de um algoritmo em uma operação, postergando (deferring) alguns passos para subclasses, sem mudar a estrutura do mesmo.
  2. BPrototype, um padrão estrutural, que busca fornecer uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.
  3. CSingleton, um padrão de criação, que busca garantir que um objeto terá apenas uma única instância, ou seja, uma classe irá gerar apenas um objeto e que este estará disponível de forma única para todo o escopo de uma aplicação.
  4. DCommand, um padrão comportamental, que busca definir o fluxo de um algoritmo em uma operação, postergando (deferring) alguns passos para subclasses, sem mudar a estrutura do mesmo.
  5. EFaçade, um padrão estrutural, que busca garantir que um objeto terá apenas uma única instância, ou seja, uma classe irá gerar apenas um objeto e que este estará disponível de forma única para todo o escopo de uma aplicação.
Revelar gabarito e comentário

GabaritoC — Singleton, um padrão de criação, que busca garantir que um objeto terá apenas uma única instância, ou seja, uma classe irá gerar apenas um objeto e que este estará disponível de forma única para todo o escopo de uma aplicação.

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: Singleton

Gabarito: letra C. A necessidade de um objeto único para processar a sincronização, evitando a criação de dados duplicados, é a aplicação clássica do padrão Singleton. Este padrão garante que uma classe tenha apenas uma única instância e fornece um ponto global de acesso a ela, exatamente o que o enunciado descreve.

A questão testa o conhecimento dos padrões GoF (Gang of Four) e suas classificações. O Singleton é um padrão criação (criação), enquanto as alternativas misturam definições e classificações.

Padrões GoF
  • 1Criação
    • Singleton
      • Garante instância única
      • Ponto de acesso global
    • Factory Method
      • Interface para criar objetos
      • Subclasses decidem qual classe
    • Prototype
      • Criação por clonagem
    • Abstract Factory
      • Famílias de objetos relacionados
  • 2Estrutural
    • Façade
      • Interface simplificada para subsistema
  • 3Comportamental
    • Template Method
      • Posterga passos para subclasses
    • Command
      • Encapsula solicitação como objeto
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Define o Factory Method como um padrão que "posterga passos para subclasses". Essa descrição corresponde ao padrão Template Method (comportamental), não ao Factory Method. O Factory Method é um padrão criacional que define uma interface para criar objetos, mas permite que subclasses decidam qual classe instanciar. Não se aplica à necessidade de unicidade.

Alternativa B — ❌ Incorreta

Erra ao classificar o Prototype como "estrutural" — na verdade, ele é um padrão criação (criação). Sua descrição "fornecer uma interface para criação de famílias de objetos relacionados" corresponde ao padrão Abstract Factory. O Prototype cria objetos por clonagem, não resolve o problema de instância única.

Alternativa C — ✅ Correta ⟵ GABARITO

O Singleton é um padrão criação que "garante que um objeto terá apenas uma única instância, ou seja, uma classe irá gerar apenas um objeto e que este estará disponível de forma única para todo o escopo de uma aplicação". A definição corresponde exatamente ao descrito no enunciado: um objeto único para processar o sincronismo, evitando duplicidade de dados.

Alternativa D — ❌ Incorreta

Descreve o Command (comportamental) com a definição do Template Method. O Command encapsula uma solicitação como um objeto, permitindo parametrizar clientes com filas, requisições e operações. Não tem relação com unicidade de instância.

Alternativa E — ❌ Incorreta

O Façade é um padrão estrutural que fornece uma interface simplificada para um subsistema complexo. A descrição dada ("garantir que um objeto terá apenas uma única instância") é na verdade a definição do Singleton, mas associada ao padrão errado. A banca inverteu a definição para confundir o candidato.

NÃO CAIA NESSA!

A banca troca as definições entre os padrões. Em especial, a alternativa E atribui ao Façade (estrutural) a definição do Singleton (criação). Memorize a classificação e a finalidade de cada padrão GoF para não cair nesse tipo de armadilha.

Gabarito: letra C.

Link permanente: /questoes/fc018265