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 builder atende corretamente o que se pede em I.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: C - certo
A questão aborda o entendimento do padrão de projeto Builder, que é um dos padrões de criação descritos no livro "Design Patterns: Elements of Reusable Object-Oriented Software", por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, muitas vezes referidos como o "Gang of Four" (GoF). Este padrão tem como objetivo principal desacoplar a construção de um objeto complexo de sua representação, permitindo que o mesmo processo de construção possa gerar diferentes representações.
No contexto da questão, o Builder se encaixa perfeitamente na necessidade I, que é a separação entre a construção de um objeto complexo e sua representação. Isso é feito de tal forma que o mesmo processo de construção pode ser reutilizado para criar diferentes representações do objeto.
O uso do Builder envolve tipicamente um Diretor e um Construtor. O Diretor é responsável por controlar o processo de construção, e o Construtor fornece uma interface para criar as partes do objeto complexo. Os clientes do Builder não precisam conhecer a representação interna do produto que está sendo construído. Dessa forma, o Builder permite que você varie a representação interna do produto, o que é útil quando o algoritmo de montagem de um objeto complexo deve ser independente das partes que compõem o objeto e de como elas são montadas.
A alternativa está correta (C), pois o padrão Builder atende ao requisito de implementar um padrão de criação que facilita a separação entre a construção e a representação de um objeto complexo, permitindo assim que diferentes representações possam ser criadas.
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
Builder = construção/objeto complexo
c-
Builder separa a costrução de um objeto complexo de sua representação, embora alguns processes podem ter representações distintas.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo