Creational Pattern Java que tem por objetivo separar a const...

Próximas questões
Com base no mesmo assunto
Q80214 Arquitetura de Software
Creational Pattern Java que tem por objetivo separar a construção de um objeto complexo da sua representação, de tal forma que diversas representações podem ser criadas em razão da necessidade do programa. Trata-se de
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a B - Builder pattern.

Builder Pattern é um padrão de projeto do tipo Creational que visa separar a construção de um objeto complexo da sua representação, permitindo que o mesmo processo de construção possa criar diferentes representações do objeto. Este padrão é particularmente útil quando o processo de criação envolve várias etapas ou quando o objeto pode ter diferentes configurações.

Vamos analisar as alternativas para entender porque a alternativa B é correta e as outras são incorretas:

A - Flyweight pattern

O Flyweight Pattern é um padrão estrutrural que visa reduzir a quantidade de objetos criados para diminuir o uso de memória e aumentar a eficiência. Ele compartilha o máximo possível de dados com objetos semelhantes. Não se encaixa na descrição da questão, que se refere à criação de objetos complexos e suas representações.

C - Prototype pattern

O Prototype Pattern é um padrão de criação que permite a criação de novos objetos a partir de uma instância existente, clonando este objeto. Ele é útil para casos onde a criação de novos objetos pode ser custosa. Embora seja um padrão creational, não atende à descrição de separar a construção de um objeto complexo da sua representação.

D - Singleton pattern

O Singleton Pattern garante que uma classe tenha apenas uma instância e proporciona um ponto global de acesso a essa instância. Este padrão não está relacionado com a construção de objetos complexos ou com a criação de diferentes representações de um objeto, mas sim com a limitação da existência de apenas uma instância de uma classe.

E - Bridge pattern

O Bridge Pattern é um padrão estrutural que separa a abstração da implementação, para que ambos possam variar independentemente. Ele facilita a extensão de classes conectadas por meio de composição ao invés de herança. Este padrão não aborda a construção de objetos complexos e suas diferentes representações, como descrito na questão.

Assim, a alternativa que de fato corresponde à descrição fornecida na questão é a Builder Pattern, que é a alternativa B.

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

A pattern Builder tem por finalidade isolar a construção de um objeto complexo da sua representação, levando em consideração que o mesmo processo de construção possa criar diferentes representações. Sendo assim, o algoritmo para a construção de um objeto deve ser independente das partes que realmente compõem o objeto e também de como eles são montados.

Utilizando esta pattern, o que temos a fazer é criar uma classe, qual especifica uma interface abstrata para a criação das partes de um objeto-produto. Esta classe abstrata deverá ser herdada pelos objetos concretos que implementaram os métodos de construção para aquele objeto. Esta classe concreta nos fornecerá uma forma de recuperarmos o produto, retornando-o de alguma forma para o cliente que o solicitou.

Vejamos abaixo os participantes envolvidos nesta pattern:

  • Director: Constrói um determinado objeto, utilizando a interface de Builder (classe abstrata).
  • Builder: Define uma interface abstrata para a criação das partes de um objeto-produto.
  • ConcreteBuilder: Implementa os métodos de construção da classe abstrata e também mantém a representação do objeto que cria. Fornece ao cliente um método para a recuperação do produto.
  • Product: Representa o objeto complexo em construção, incluindo as interfacces para a montagem das partes no resultado final.

 

 

ALTERNATIVA B

(Structural Pattern) Flyweight é um design pattern apropriado quando vários objetos devem ser manipulados, e esses não suportam dados adicionais. No flyweight não existem ponteiros para os métodos do dado, pois isto consome muita memória. Em contrapartida são chamadas sub-rotinas diretamente para acessar o dado.
(Creational Pattern) Builder é um design pattern que permite a separação da construção de um objeto complexo da sua representação, de forma que o mesmo processo de construção possa criar diferentes representações.
(Creational Pattern) Prototype é um design pattern que permite a criação de objetos a partir de um modelo original ou protótipo.
(Creational Pattern) Singleton é um design pattern que garante a existência de apenas uma instância de uma classe, mantendo um ponto global de acesso ao seu objeto.
(Structural Pattern) Bridge é um design pattern utilizado quando é desejável que uma interface (abstração) possa variar independentemente das suas implementações.

creational pattern - abstract factory, factory method, builder, prototype, singleton. elimina a a e e.

palavra-chave do builder: construcao (de build - construir)

definicao do builder: separar a construção de um objeto complexo da sua representação

Clique para visualizar este comentário

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