Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 5, 2022 08:52 pm GMT

Design Pattern: Factory Method

Os designs de criao, nos quais se inclui o Factory, so utilizados para criar objetos sem expor ao cliente a lgica pela qual aquele objeto criado. Assim, as subclasses ligadas a uma interface ou classe abstrata podem ser instanciadas sem que o cliente se importe com o tipo especfico do objeto sendo criado.

De uma maneira mais prtica, o diagrama abaixo um exemplo de implementao de uma Factory:
SAMPLE FACTORY UML

Pode parecer sem sentido o simples ato de levar o construtor de um objeto para uma outra parte do programa, mas justamente esse pequeno ato que gera a abstrao que queremos, algo extremamente benfico quando se trata de grandes projetos. Assim podemos sobrescrever o mtodo de criao em uma subclasse, alterando o objeto criado, no necessrio reescrevermos toda a lgica de criao para cada subclasse que quisermos adicionar ao nosso programa, aplicamos princpios SOLID em nosso cdigo, geramos um baixo acoplamento e facilitamos a manuteno.

Quando utilizar o Factory Method:

  • Quando o cliente no sabe de antemo o tipo de objeto que dever ser criado.
  • Para permitir a extenso do cdigo sem ter que realizar alteraes em outras partes do projeto.
  • Para eliminar duplicao de cdigo na criao de objetos.

Prs do Factory Method:

  • Evita acoplamento
  • Facilita Manuteno
  • Responsabilidade nica (SOLID)
  • Aberto/Fechado (SOLID)

Contras do Factory Method:

  • Os produtos para serem retornados precisam ter uma classe ou interface base em comum.
  • Gera uma grande quantidade de classes no seu projeto. No entanto cabe aqui uma observao: responsabilidade do desenvolvedor considerar os trade-offs daquilo que ele implementa. Nesse caso da quantidade de classes, podemos abrir mo de um pr do Factory de forma a diminuir a quantidade de classes, porm aumentando o acoplamento do cdigo (usando switch case na Factory por exemplo, transformando o padro em um Simple Factory)
  • Outros patterns podem oferecer mais flexibilidade, como Builder e Prototype, porm trazendo maior complexidade. Assim muitos projetos iniciam utilizando Factory e depois migram para outros design patterns.

Para um tutorial prtico de como aplicar o Factory Method CLIQUE AQUI.

.ltag__user__id__754899 .follow-action-button { background-color: #000000 !important; color: #ffffff !important; border-color: #000000 !important; }
guilhermepirani image

linha horizontal

Disclaimer

A VaiVoa incentiva seus Desenvolvedores em seu processo de crescimento e acelerao tcnica. Os artigos publicados no traduzem a opinio da VaiVoa. A publicao obedece ao propsito de estimular o debate.

logo vaivoa


Original Link: https://dev.to/vaivoa/design-pattern-factory-method-5580

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To