An Interest In:
Web News this Week
- April 26, 2024
- April 25, 2024
- April 24, 2024
- April 23, 2024
- April 22, 2024
- April 21, 2024
- April 20, 2024
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:
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:
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.
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.
Original Link: https://dev.to/vaivoa/design-pattern-factory-method-5580
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To