Padrão de Projeto Simple Factory, Factory e Abstract Factory - apontes77/projetoApp_CMP1118 GitHub Wiki

Assim como uma fábrica no mundo real executa a síntese de diversos materiais tendo em vista um produto final, uma fábrica de software(isto é, software que implementa o padrão de projeto Factory é um objeto que é responsável por criar e entregar outros objetos baseados nos parâmetros de entrada.

Existem alguns tipos de padrão Factory:

  1. Padrão Simple Factory: este permite a criação de interfaces que criam objetos sem expor a criação lógica para o cliente;

  2. Padrão Factory: este permite a criação de interfaces que criam objetos e que permitem subclasses para determinal qual classe instanciar;

  3. Padrão Abstract Factory: uma "fábrica abstrata" é uma interface para criar objetos relacionados sem especificar/expor as suas classes. Nós podemos dizer que providencia um objeto de outra "fábrica", que é responsável por criar os objetos necessários.

Referência:

https://pt.stackoverflow.com/questions/157466/qual-a-diferen%C3%A7a-entre-simple-factory-factory-method-abstract-factory