-
Notifications
You must be signed in to change notification settings - Fork 0
Factory Methods
Thiago Heron Ávila edited this page Oct 2, 2020
·
1 revision
- É utilizado quando não soubemos com antecedência quais os tipos e dependências dos objetos com o código irá funcionar. Assim, o código separa a construção do "produto" de quem vai utilizar o "produto". Logo, torna-se mais fácil estender o código da construção de produto independente do restante do código.
- Torna-se mais fácil adicionar um novo tipo de produto na aplicação, precisa apenas criar uma nova subclasse criadora e substituir o método nela.
- No mesmo sentido, serve também para quando queremos prover para sua biblioteca para os usuários de uma maneira fácil de estender seus componentes internos
- Evita forte acoplamento entre quem é o criador e os produtos.
- Single Responsibility Principle - Pode mover a criação do código de produtos para um único local do programa.
- Open/Closed Principle - Pode introduzir novos tipos de produtos sem quebrar o restante do código.
- O código poderá ficar mais complexo, pois é necessário introduzir muitas novas subclasses para implementar o padrão. O melhor cenário é quando você está introduzindo o padrão em uma hierarquia existente de classes criadoras.