Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Motivaci
on (cont.)
Componentes...
Clase abstracta para cada componente
El cliente crea componentes a trav
es de la
f
abrica abstracta
La f
abrica de componentes garantiza el uso consistente de componentes de un mismo look-andfeel
Aplicabilidad
Estructura
Participantes
F
abrica Abstracta (AbstractFactory)
Declara interfaz para las operaciones que crean
productos abstractos (m
etodos de fabricaci
on)
F
abrica Concreta (ConcreteFactory)
Implementa los m
etodos de fabricaci
on de productos concretos
Producto Abstracto (AbstractProducti )
Declara la interfaz utilizada por el cliente para
un tipo de producto concreto
Producto Concreto (ConcreteProductij)
Define un producto creado por el m
etodo de
fabricaci
on de una f
abrica concreta
Implementa la interfaz Producto Abstracto i
Cliente (Client)
Usa s
olo las interfaces declaradas por F
abrica
Abstracta y Productos Abstractos
Colaboraciones
Normalmente se crea una
unica F
abrica Concreta,
que se encarga de crear los productos concretos
La F
abrica Abstracta difiere la creaci
on de productos a sus subclases
Consecuencias
Creaci
on de productos
M
etodo de Fabricaci
on (normal)
Prototipo (menos habitual, aunque evita extender F
abrica
Abstracta)
Flexibilizar f
abrica mediante parametrizaci
on de
m
etodo de fabricaci
on
M
etodo de fabricaci
on puede crear distintos tipos de
componentes en base a los par
ametros del m
etodo
El cliente debe realizar una conversi
on tras crear el
producto (downcasting)
(En la mayora de los lenguajes) no hay ninguna relaci
on
formal entre valores de los par
ametros y productos
creados (salvo c
odigo fuente!)
4