Método de Fábrica

Consiste en la generación de una fábrica abstracta la cual tiene algunos métodos definidos y otros abstractos, es decir, los métodos definidos contienen ciertas acciones que siempre son ejecutadas por las implementaciones de la fábrica, mientras que los métodos abstractos son implementados en cada fábrica y cada uno tiene un conjunto de acciones que la hace diferente a las demás implementaciones de fábricas.

En la imagen podemos apreciar que tenemos una fábrica la cual tiene 2 métodos, uno es abstracto factoryMethod y el otro si contiene una definición doSomething, el método abstracto se tendrá que definir en sus implementaciones mientras el método definido solamente se hereda. En este caso factoryMethod tendrá un rol específico en cada implementación, mientras que doSomething tiene el mismo comportamiento para todas las implementaciones.