====== 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. {{ cap:patterns:factory_method.png }} 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.