Factory Method (patrón de diseño)

Factory Method (patrón de diseño)

Factory Method (patrón de diseño)

En diseño de software, el patrón de diseño Factory Method consiste en utilizar una clase constructora (al estilo del Abstract Factory) abstracta con unos cuantos métodos definidos y otro(s) abstracto(s): el dedicado a la construcción de objetos de un subtipo de un tipo determinado. Es una simplificación del Abstract Factory, en la que la clase abstracta tiene métodos concretos que usan algunos de los abstractos; según usemos una u otra hija de esta clase abstracta, tendremos uno u otro comportamiento.

Estructura

Las clases principales en este patrón son el creador y el producto. El creador necesita crear instancias de productos, pero el tipo concreto de producto no debe ser forzado en las subclases del creador, porque entonces las posibles subclases del creador deben poder especificar subclases del producto para utilizar.


Factory Method.png

La solución para esto es hacer un método abstracto (el método de la fábrica) que se define en el creador. Este método abstracto se define para que devuelva un producto. Las subclases del creador pueden sobrescribir este método para devolver subclases apropiadas del producto...

Ejemplo de código

// Definimos la clase abstracta constructora
public abstract class Creator{
    // Operación que realiza 
    public Product  anOperation() {
 
        return factoryMethod();
    }
 
    // Definimos método abstracto
    protected abstract Product factoryMethod();
}

Ahora definimos el creador concreto.

public class ConcreteCreator extends Creator{
    protected Product factoryMethod() {
        return new ConcreteProduct();
    }
}

Y definimos el producto y su implementación concreta.

public interface Product{
    public void operacion();
}
 
public class ConcreteProduct implements Product{
    public void operacion(){
        System.out.println("Una operación de este producto");
    }
}

Y un ejemplo de uso :

public static void main(String args[]){
    Creator aCreator;
    aCreator = new ConcreteCreator();
    Producto producto = aCreator.anOperation();
    producto.operacion();
}

Enlaces externos

Obtenido de "Factory Method (patr%C3%B3n de dise%C3%B1o)"

Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Factory Method (patrón de diseño) — En diseño de software, el patrón de diseño Factory Method consiste en utilizar una clase constructora (al estilo del Abstract Factory) abstracta con unos cuantos métodos definidos y otro(s) abstracto(s): el dedicado a la construcción de objetos… …   Enciclopedia Universal

  • Patrón de diseño — Saltar a navegación, búsqueda Los patrones de diseño (design patterns) son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces. Un patrón de… …   Wikipedia Español

  • Abstract Factory (patrón de diseño) — Abstract Factory (Fábrica Abstracta) es un patrón de diseño para el desarrollo de software. Contenido 1 Contexto y problema 2 Aspecto estático 3 Un ejemplo 4 Véase también …   Wikipedia Español

  • Command (patrón de diseño) — En programación orientada a objetos, Command es un patrón de diseño. Contenido 1 Intención 2 Propósito 3 Motivo 4 Aplicaciones …   Wikipedia Español

  • OpenSceneGraph — Desarrollador Don Burns y Robert Osfield [1] Información general …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”