El patrón de diseño Factory Method define una interfaz para crear un objeto, pero deja que sean las subclases quienes decidan qué clase instanciar. Permite que una clase delegue en sus subclases la creación de objetos.
Define un método separado cuya función es la creación de objetos, no es necesario especificar la clase exacta de la que proviene el objeto . las subclases pueden hacer un override para especificar el tipo derivado del objeto que se crea.
Problema:
La instancia del objeto a crear depende de condiciones externas a la clase cliente.
Puede cambiar independientemente de cambiar la clase cliente.
Estructura:
Las clases principales en este patrón son el creador y el producto. El creador debe generar instancias de los productos, pero no deben ser forzados en las subclases del creador, ya que, entonces las posibles subclases del creador deben poder especificar subclases del productor para utilizar.
La forma de solucionar esto es usando un método abstracto: Factory Method, que se define en el creador. Este método devuelve un producto. Las subclases del creador pueden sobrescribir este método para devolver subclases apropiadas del producto
Ejemplo:
paso 1)
paso 2)
paso 3)
paso 4)
paso 5)
Si deseas probar el código, lo puedes descargar del siguiente link:
http://www.megaupload.com/?d=GH2N8ZT8
Bibliografía:
http://www.scribd.com/doc/55128700/17/El-Patron-de-Diseno-Factory-Method-4
http://mit.ocw.universia.net/6.170/6.170/f01/pdf/lecture-12.pdf
http://es.wikipedia.org/wiki/Factory_Method_(patrón_de_diseño)




