2. Patrones de diseño.
• Una técnica para flexibilizar el código haciéndolo
satisfacer ciertos criterios.
• Proyecto o estructura de implementación que logra
una finalidad determinada.
• Lenguaje de programación de alto nivel.
• Una manera más práctica de describir ciertos
aspectos de la organización de un programa.
• Conexiones entre componentes de programas.
• Una solución estándar para un problema común de
programación.
• La forma de un diagrama de objeto o de un modelo
objeto.
3. Método Fábrica
• Define una interfaz para crear un objeto, pero
deja que sean las subclases quienes decidan
que clase instanciar. Permite que una clase
delegue en sus subclases la creación de
objetos.
• El patrón de diseño Factory Method consiste
en definir una interfaz para crear objetos de tipo
genérico permitiendo a las subclases decidir
que tipo de objetos concreto crear.
4. Características
• Clasificación: creacional
• Se lo conoce Virtual Constructor.
• Hace que un diseño sea más personalizable y sólo un
poco más complicado. El método de fábrica sólo requiere
una nueva operación.
• Es similar a la Abstract Factory, pero sin el énfasis en las
familias.
• Es de rutina, especificados por un marco arquitectónico, y
luego implementar por parte del usuario la estructura.
• A este método se lo utiliza con el método plantilla.
5. Estructura
Producto
Define la interfaz de los objetos que crea el método de fabricación.
ProductoConcreto
Implementa la interfaz Producto.
Creador
Declara el método de fabricación, el cual devuelve un objeto del tipo Producto. También puede definir una
implementación predeterminada del método de fabricación que devuelve un objeto ProductoConcreto. Puede llamar al
método de fabricación para crear un objeto Producto.
CreadorConcreto
Redefine el método de fabricación para devolver una instancia de ProductoConcreto.
6. Ejemplo
• Las prensas de moldeado a inyección
sirven para explicar este patrón. Los
fabricantes de juguetes de plástico
procesan plástico en polvo para
moldeado, e inyectan el plástico en
moldes con las formas deseadas. La clase
de un juguete (auto, figura, etc.) es
determinada por el molde.
8. Conclusiones:
• El patrón Factory Method permite escribir
aplicaciones que son más flexibles respecto de
los tipos a utilizar difiriendo la creación de las
instancias en el sistema a subclases que pueden
ser extendidas a medida que evoluciona el
sistema.
• Permite también encapsular el conocimiento
referente a la creación de objetos. Factory Method
hace también que el diseño sea más adaptable a
cambio de sólo un poco más de complejidad.
• Inconveniente: Se obliga al cliente a definir
subclases de la clase “Creador” sólo para crear
unproducto concreto y esto puede no
ser apropiado siempre