Com base nessa situação hipotética, julgue o item a seguir, ...
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.
O padrão de criação prototype atende corretamente o que se pede em VI.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
Na arquitetura de software, os padrões de projeto são soluções generalistas para problemas recorrentes durante o desenvolvimento de software. Eles são classificados em três principais categorias: criação, estruturais e comportamentais. A questão apresentada aborda especificamente padrões de criação, que são utilizados para facilitar o processo de criação de objetos.
O padrão Prototype, mencionado na alternativa VI, é um padrão de criação que tem como principal objetivo a clonagem de objetos, evitando a criação tradicional por meio do operador new. Este padrão é particularmente útil quando o custo de criar uma instância de uma classe é elevado ou complexo.
O motivo pelo qual a alternativa C está correta é que o padrão Prototype atende exatamente à necessidade descrita em VI: ele define os tipos de objetos a serem criados por meio de uma instância prototípica e permite criar novos objetos clonando esta instância. Isso significa que cada novo objeto criado é independente do objeto que serviu como protótipo, embora compartilhem do mesmo estado inicial.
O uso do padrão Prototype permite que sistemas sejam flexíveis na criação de novas formas de objetos que compartilham características semelhantes. Assim, este padrão viabiliza uma forma eficiente e dinâmica de gerar novas entidades dentro de um sistema de software com base em um protótipo pré-existente.
Em resumo, a alternativa C é correta porque o padrão Prototype é projetado para resolver exatamente o tipo de problema descrito, que consiste na criação de objetos a partir de um protótipo, possibilitando a clonagem e consequente independência entre as instâncias e o protótipo original.
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
Prototype = Clone
O padrão Prototype é aplicado quando existe a necessidade de clonar, literalmente, um objeto. Ou seja, quando a aplicação precisa criar cópias exatas de algum objeto em tempo de execução este padrão é altamente recomendado. Este padrão pode ser utilizado em sistemas que precisam ser independentes da forma como os seus componentes são criados, compostos e representados.
https://pt.wikipedia.org/wiki/Prototype
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo