Assinale a opção que indica o padrão de projeto GoF ('Gang of Four') que, com finalidade comportamental, sem violar o encapsulamento, captura e externaliza um estado interno de um objeto, de modo que o mesmo possa posteriormente ser restaurado para este estado.
- A)bridge.
Bridge é padrão estrutural, usado para separar abstração e implementação, e não para capturar estado interno de objetos.
- B)facade.
Facade também é estrutural e serve para simplificar o acesso a um subsistema, não para armazenar e restaurar estados.
- C)flyweight.
Flyweight busca compartilhar instâncias para economizar memória, mas não tem a finalidade de guardar estado para posterior restauração.
- D)memento.
Memento é o padrão correto, pois registra o estado interno sem violar o encapsulamento e permite restaurá-lo depois.
- E)visitor.
Visitor é comportamental e permite adicionar operações a objetos sem mudar suas classes, mas não trata de captura e restauração de estado.
Gabarito: D
O enunciado descreve exatamente um padrão GoF comportamental: o objeto tem seu estado interno capturado, guardado fora dele, e depois restaurado quando necessário, tudo isso sem expor seus detalhes internos. Pense como um "salvar jogo": voce congela o estado atual, guarda em algum lugar e, mais tarde, volta para ele sem precisar reconstituir tudo na marra. Esse padrão é o Memento. A ideia central é preservar o encapsulamento, ou seja, o objeto continua protegido, enquanto um outro componente registra o estado para permitir a recuperação posterior. Em termos de prova, a expressão-chave costuma ser justamente essa: capturar e externalizar estado interno para restauração futura. Isso difere de padrões como Facade, Bridge, Flyweight e Visitor, que tratam de outros problemas de estrutura ou de comportamento. Aqui, a pegadinha é confundir "guardar estado" com "intermediar acesso" ou "compartilhar objetos", mas o foco do Memento é memória do estado, sem quebrar o encapsulamento. A FGV gosta bastante de cobrar a definição clássica dos GoF quase como citação de manual. Se você lembrar da tríade "guardar, externalizar e restaurar estado", você mata a questão sem sofrimento.