Com base nessa situação hipotética, julgue o item a seguir, ...

Próximas questões
Com base no mesmo assunto
Ano: 2015 Banca: CESPE / CEBRASPE Órgão: MEC Prova: CESPE - 2015 - MEC - Desenvolvedor |
Q602386 Arquitetura de Software
      Considere que, em um documento de requisitos, foram elencadas as seguintes necessidades a serem supridas por meio de padrões de projeto:

I    implementar um padrão de criação que possibilite a separação entre a construção de um objeto complexo e sua representação de modo que esse processo de construção possa criar diferentes representações;

II    implementar um padrão que evite vínculo permanente entre uma abstração e sua implementação;

III    implementar um padrão que, sem violar o encapsulamento e a captura, externalize o estado interno de um objeto e permita que posteriormente ele seja restaurado a esse estado;

IV    implementar um padrão que permita a variação do algoritmo independentemente dos clientes que o utilizam;

V    implementar um padrão que forneça uma interface unificada para um conjunto de interfaces em um subsistema;

VI    implementar um padrão que especifique os tipos de objetos a serem criados usando uma instância prototípica e crie novos objetos copiando este novo protótipo.
Com base nessa situação hipotética, julgue o item a seguir, com relação aos padrões de projeto.

O padrão comportamental memento atende corretamente o que se pede em III.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: C - certo

A questão trata de identificar padrões de projeto adequados para atender a determinadas necessidades expressas em requisitos de software. Para fazer essa identificação, é importante compreender o propósito e a aplicabilidade de cada padrão de projeto.

O padrão Memento enquadra-se na categoria de padrões comportamentais e tem como objetivo fornecer a capacidade de restaurar um objeto para um estado anterior, o que é útil em funcionalidades como desfazer ou salvar um estado temporário. Este padrão permite que o estado interno de um objeto seja salvo sem violar o encapsulamento e sem expor os detalhes internos do objeto, o que está de acordo com o requisito III mencionado na questão.

No padrão Memento, são utilizadas três entidades principais:

  • Originator: é o objeto que tem seu estado interno que se deseja salvar e restaurar.
  • Memento: é a representação do estado do Originator. Armazena o estado interno do Originator, mas não expõe sua estrutura interna.
  • Caretaker: é responsável por guardar o memento. O Caretaker solicita um memento ao Originator e o mantém, podendo retorná-lo ao Originator para que o estado anterior seja restaurado.

Assim, o padrão Memento atende perfeitamente ao requisito III pois possibilita que o estado de um objeto seja guardado e restaurado, sem quebrar o encapsulamento. Isso é feito de maneira que o estado possa ser armazenado ou restabelecido sem que o objeto revele detalhes sobre sua implementação.

Portanto, a afirmação de que o padrão comportamental memento atende corretamente o que se pede em III está correta, e a alternativa C é a escolha adequada para quem deseja responder a questão com precisão.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Memento é um padrão de projeto que permite armazenar o estado interno de um objeto em um determinado momento, para que seja possível retorná-lo a este estado, caso necessário. FONTE: https://www.wikiwand.com/pt/Memento_(inform%C3%A1tica)

Uma "técnica" que eu uso é: quando a descrição do padrão der a ideia de um "momento" na execução do objeto que será exteriorizado, não há outra dúvida, é o Memento.

I-builder (criação)
II-bridge (estrutural)
III-memento (comportamental)
IV-strategy (comportamental)
V-facade (estrutural)
VI-prototype (criação)

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo