Julgue o próximo item, a respeito de 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.
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;
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo