Pular para o conteúdo principal

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

Engenharia de SoftwarePadrões de Projeto (Engenharia de Software)
Código
ce403881
Banca
CESPE / CEBRASPE
Órgão
BACEN
Ano
2024
Cargo
Ana ( )

Julgue o item subsequente, relativo a padrões GoF.

 

O padrão composite atribui responsabilidades adicionais a um objeto dinamicamente e o memento, sem violar o encapsulamento, captura e externaliza um estado interno de um objeto, de modo que este possa, posteriormente, ser restaurado para aquele estado.

  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ões GoF: Composite e Memento

❌ ERRADO. O item está incorreto porque atribui ao padrão Composite uma característica que pertence ao padrão Decorator. O Composite é um padrão estrutural que compõe objetos em estruturas de árvore para representar hierarquias partes-todo, permitindo que clientes tratem objetos individuais e composições de objetos de maneira uniforme. Já o padrão que "atribui responsabilidades adicionais a um objeto dinamicamente" é o Decorator. A definição do Memento, por sua vez, está correta: ele captura e externaliza o estado interno de um objeto sem violar o encapsulamento, permitindo restaurá-lo posteriormente.

Os padrões GoF (Gang of Four) são soluções reutilizáveis para problemas recorrentes de projeto orientado a objetos, organizados em três famílias: criação, estrutural e comportamental. O Composite pertence à família estrutural, pois trata da composição de objetos para formar estruturas maiores. O Decorator também é estrutural, mas seu propósito é adicionar responsabilidades a um objeto de forma dinâmica, sem alterar sua interface. O Memento é um padrão comportamental, pois trata da distribuição de responsabilidades entre objetos e da comunicação entre eles.

Para entender a diferença, considere um exemplo: em um sistema de desenho, o Composite permite que um grupo de formas (círculos, retângulos) seja tratado como uma única forma, podendo ser movido ou redimensionado como um todo. Já o Decorator poderia adicionar, dinamicamente, uma borda ou sombra a uma forma específica, sem modificar a classe original. O Memento, por sua vez, seria usado em um editor de texto para salvar o estado do documento (texto, cursor) em um ponto e restaurá-lo depois, como em um recurso de "desfazer".

A banca explora exatamente a confusão entre Composite e Decorator, dois padrões estruturais com nomes e propósitos distintos. O candidato que memoriza apenas os nomes pode facilmente trocá-los. A definição do Memento, por ser mais específica e menos confundível, costuma ser o "gancho" para o candidato marcar o item como certo, mas a primeira parte já o torna errado.

Guarde a fronteira: Composite = estrutura de árvore (partes-todo); Decorator = adicionar responsabilidades dinamicamente. É exatamente nessa fronteira que o item se divide.

Padrão GoF

Família

Propósito principal

Composite

Estrutural

Compor objetos em estruturas de árvore (hierarquias partes-todo), tratando objetos individuais e composições de forma uniforme

Decorator

Estrutural

Atribuir responsabilidades adicionais a um objeto dinamicamente, sem alterar sua interface

Memento

Comportamental

Capturar e externalizar o estado interno de um objeto sem violar o encapsulamento, permitindo restaurá-lo posteriormente

Padrões GoF
  • 1Estruturais
    • Composite
      • compõe objetos em árvore
      • trata partes e todo uniformemente
    • Decorator
      • adiciona responsabilidades dinamicamente
  • 2Comportamentais
    • Memento
      • captura estado interno
      • restaura sem violar encapsulamento
LEVEL · soulevel.com.br

Item — ❌ Errado

O item apresenta duas definições: a do Composite e a do Memento. A definição do Memento está correta: ele captura e externaliza o estado interno de um objeto sem violar o encapsulamento, permitindo restaurá-lo. Porém, a definição do Composite está errada: o padrão que "atribui responsabilidades adicionais a um objeto dinamicamente" é o Decorator, não o Composite. O Composite compõe objetos em estruturas de árvore para representar hierarquias partes-todo, permitindo que clientes tratem objetos individuais e composições de forma uniforme. Portanto, como a primeira parte do item está incorreta, o item como um todo é errado.

Gabarito: letra E (Errado).

Link permanente: /questoes/ce403881