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:
- Factory Method, Decorator, Facade e Memento.
- Adapter, Mediator, Facade e Builder.
- Builder, State, Mediator e Adapter.
- Builder, Decorator, Flyweight e Memento.
- 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