1. Magnolia Camila Arbeláez Polindara
Michael Farid Fernández Rivera
PATRONES CREACIONALES:
PATRÓN FÁBRICA
INTENCIÓN Crear nuevas instancias de objetos.
PROBLEMA QUE SOLUCIONA Crear la instancia de un objeto pero a priori no
sabemos aún qué tipo de objeto tiene que ser,
generalmente, porque depende de alguna opción
que seleccione el usuario en la aplicación o
porque depende de una configuración que se
hace en tiempo de despliegue de la aplicación.
SOLUCIÓN PROPUESTA 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
DIAGRAMA DE CLASES
DIAGRAMA DE SECUENCIA
PARTICIPANTES ● Producto: Define la interfaz de los objetos
que crea el método de fabricación.
● Producto Concreto: 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 Producto Concreto. Puede llamar al
método de fabricación para crear un objeto
Producto.
● Creador Concreto: Redefine el método
2. Magnolia Camila Arbeláez Polindara
Michael Farid Fernández Rivera
de fabricación para devolver una instancia
de Producto Concreto.
APLICABILIDAD ● Una clase no puede prever la clase de
objetos que debe crear.
● Una clase quiere que sean sus subclases
quienes especifiquen los objetos que ésta
crea.
● Las clases delegan la responsabilidad en
una de entre varias clases auxiliares, y
queremos localizar concretamente en qué
subclase de auxiliar se delega.
CONSECUENCIAS ● Proporciona enganches para las subclases.
Crear objetos dentro de una clase con un método
de fabricación es siempre más flexible que
hacerlo directamente. Conecta jerarquías de
clases paralelas.
3. Magnolia Camila Arbeláez Polindara
Michael Farid Fernández Rivera
a. Implementar el Juego utilizando el patrón uno de los 2 patrones
b. Explique cual es la diferencia entre los dos patrones.