Julgue o próximo item, a respeito de arquitetura de software...

Próximas questões
Com base no mesmo assunto
Q1902831 Arquitetura de Software

Julgue o próximo item, a respeito de arquitetura de software.


Os padrões de projeto abrangem um amplo espectro de abstração e aplicação; especificamente, o factory method pattern separa a construção de um objeto complexo de sua representação de modo que o mesmo processo de construção possa criar diferentes implementações do mesmo objeto. 

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é E - errado.

Vamos entender por que essa alternativa está correta.

Os padrões de projeto (design patterns) são soluções reutilizáveis para problemas comuns no desenvolvimento de software. Eles podem ser categorizados de várias maneiras, incluindo padrões de criação, estruturais e comportamentais.

O padrão Factory Method é um padrão de criação que delega a responsabilidade de criação de objetos a subclasses. Esse padrão define uma interface ou classe abstrata para criar um objeto, mas permite que as subclasses decidam qual classe instanciar. A ideia principal é que o método de criação é definido na interface ou classe abstrata, mas a implementação concreta do método é feita nas subclasses.

O enunciado da questão menciona que o Factory Method "separa a construção de um objeto complexo de sua representação de modo que o mesmo processo de construção possa criar diferentes implementações do mesmo objeto". Esta descrição, na verdade, é característica de outro padrão de criação conhecido como Builder.

O padrão Builder separa a construção de um objeto complexo de sua representação, permitindo que o mesmo processo de construção crie diferentes representações. No Builder, um objeto é construído passo a passo, e o processo de construção permite a criação de diferentes implementações do objeto final.

Portanto, a descrição dada no enunciado está incorreta em relação ao Factory Method, mas está correta em relação ao Builder. Isso justifica a alternativa como errada.

De forma resumida:

  • Factory Method: Define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe instanciar.
  • Builder: Separa a construção de um objeto complexo de sua representação, permitindo a criação de diferentes representações do mesmo processo de construção.

Espero que esta explicação tenha ajudado a esclarecer a diferença entre os padrões Factory Method e Builder, e por que a alternativa correta é "errado". Se tiver mais dúvidas, sinta-se à vontade para perguntar!

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

Errado.

Trata-se do Builder.

Factory Method: Instância de várias classes derivadas; cria objetos de forma dinâmica sem conhecer a classe de implementação; definir uma interface para a criação de um objeto e que permite que a subclasse decida qual classe instanciar

Biulder: Separa a construção de um objeto complexo de sua representação

ERRADO!

Descrição relativa ao padrão Builder;

Builder - separa a construção de um objeto complexo da sua representação, de forma que o mesmo processo de construção possa criar diferentes tipos de representação

  • Constroi partes de objetos passo a passo;

Factory Method - define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe instanciar; 

O Builder Pattern e o Factory Method Pattern são padrões de design utilizados na criação de objetos em programação orientada a objetos, mas eles têm propósitos e abordagens diferentes. Vamos explorar cada um deles e suas diferenças.

Builder Pattern

  • Objetivo: O Builder Pattern é usado para construir objetos complexos passo a passo. Ele separa a construção do objeto de sua representação, permitindo que o mesmo processo de construção produza diferentes representações.
  • Como Funciona:
  • Um construtor (builder) é responsável por criar um objeto complexo, permitindo que o cliente especifique apenas os detalhes da construção.
  • O builder possui métodos para configurar diferentes partes do objeto e um método final que retorna o objeto construído.
  • Exemplo: Imagine um sistema de construção de um carro. O builder pode ter métodos para adicionar rodas, motor e pintura. O resultado é um carro que pode ser configurado de várias maneiras usando o mesmo processo de construção.

Factory Method Pattern

  • Objetivo: O Factory Method Pattern é usado para criar objetos sem especificar a classe exata do objeto que será criado. Ele permite que subclasses decidam qual classe instanciar.
  • Como Funciona:
  • Uma interface ou classe base define um método de fábrica. As subclasses implementam este método para criar instâncias de tipos específicos de objetos.
  • O cliente chama o método da fábrica, mas não sabe qual classe concreta está sendo instanciada.
  • Exemplo: Imagine um sistema que cria diferentes tipos de documentos (como PDF, Word, etc.). A classe base pode ter um método , e cada subclasse implementa esse método para retornar o tipo correto de documento.

Clique para visualizar este comentário

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