Abstract Factory Method parece lo que dice, una abstracción del Factory Method donde se nos permite crear objetos de manera indirecta Este patron parece subir un nivel más para crear de forma indirecta factorias creadoras de objectos. Bien podría llamarse Meta Factory Method.
En http://en.wikipedia.org/wiki/Abstract_factory_pattern
hacer de la factoria un producto abstracto que pueda cambiarse y con el todos sus creaciones.
Aqui lo mismo. Se genera en función de la factoría creada se generarán una familia u otra de productos.
http://javapapers.com/design-patterns/creational-design-pattern/abstract-factory-pattern/
De aquel codigo se extrae el siguiente modelo.
Hecho de menos una variable que me haga accesible lo que produce Wonderland. Esta fabrica crea animales que ejecutan acciones....breath, pero no me da acceso a ellos. No puedo así utilizarlos en el resto de un cliente. Creo que la finalidad de la abstract factory, que es crear familias de productos, no se ve así cumplida. Yo imagino un código en el que hay una animal factory desperdigada que instancia diferentes factorias en funcion de alguna lógica. Vease el mismo código de uso de la página referida:
public
class
SampleAbstractFactory {
public
static
void
main(String args[]){
new
Wonderland(createAnimalFactory(
"water"
));
}
public
static
AnimalFactory createAnimalFactory(String type){
if
(
"water"
.equals(type))
return
new
SeaFactory();
else
return
new
LandFactory();
}
}
la intención aquí es crear un wonderland. Yo me quedaría con el método createAnimalFactory(String type) que según reciba "water" o no creara Sharks o elefantes. Insisto Meta Factory Method.
http://howtodoinjava.com/2012/10/29/abstract-factory-pattern-in-java/
http://www.javapractices.com/topic/TopicAction.do?Id=128
http://www.allapplabs.com/java_design_patterns/abstract_factory_pattern.htm
No hay comentarios:
Publicar un comentario