FC ConcursosFC Concursos

Questão FC373913

Considere os seguintes objetivos de padrões de projeto. 1. Separa a construção de um objeto complexo da sua representação, de forma que o mesmo processo de construção possa criar d

Padrões de Projeto (Engenharia de Software)

FCC · 2019

Considere os seguintes objetivos de padrões de projeto.


1. Separa a construção de um objeto complexo da sua representação, de forma que o mesmo processo de construção possa criar diferentes representações, ou seja, serve para encapsular a construção de um produto e permitir que ele seja construído em etapas.


2. Atribui responsabilidades adicionais a um objeto dinamicamente. Ele fornece uma alternativa flexível a subclasses para a extensão da funcionalidade, ou seja, envelopa um objeto para fornecer novos comportamentos.


3. Usa compartilhamento para dar suporte a vários objetos de forma eficiente, ou seja, permite que uma instância de uma classe possa ser usada para fornecer muitas “instâncias virtuais”.


4. Torna possível salvar o estado de um objeto de modo que o mesmo possa ser restaurado, ou seja, permite restaurar um objeto a um dos seus estados prévios, por exemplo, quando o usuário seleciona um “desfazer”.


Correspondem, correta e respectivamente, aos objetivos de padrões de projeto:

  1. Factory Method, Decorator, Facade e Memento.
  2. Adapter, Mediator, Facade e Builder.
  3. Builder, State, Mediator e Adapter.
  4. Builder, Decorator, Flyweight e Memento.
  5. Decorator, Factory Method, Abstract Factory e State.
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

Os itens 1 a 4 correspondem, respectivamente, aos padrões Builder, Decorator, Flyweight e Memento.

Builder: separa a criação de um objeto complexo da sua representação, permitindo que o mesmo processo de montagem produza diferentes formas do produto e seja executado em etapas controladas.

Decorator: envolve um objeto para adicionar responsabilidades de forma dinâmica, oferecendo alternativa à herança para estender comportamentos sem modificar a classe original.

Flyweight: usa compartilhamento de estado intrínseco para suportar muitas “instâncias virtuais” com baixo custo de memória, evitando duplicação de objetos semelhantes.

Memento: captura e externaliza o estado interno de um objeto sem violar encapsulamento, possibilitando restaurá‑lo a um estado anterior (por exemplo, “desfazer”).

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo