Factory Method

Descrição:

Define uma interface para criar um objeto, mas deixa subclasses decidirem qual classe instanciar, ou seja, o Factory Method permite que uma classe adie a instanciação para subclasses. Também é conhecido como Virtual Constructor.

Diagrama de Classes genérico do padrão: Imagem do UML padrão do Factory Method

Exemplo:

Criar utilizando o padrão de projeto Factory Method, pizzarias nas quais o cliente possa escolher o tipo de pizza desejada. As pizzarias oferecem os mesmos sabores, mas características diferentes para um mesmo tipo de pizza.

Diagrama de Classes do exemplo:

Imagem do Diagrama de Classes do exemplo de Factory Method

Ver código fonte no Github