Este es uno de mis patrones favoritos, se llama Factory y la idea es que exista una clase Factory que devuelve un objeto con las características propias de ese factory.
En el ejemplo puedes ver que se necesitan crear objetos banda (de música Rock, Jazz, etc.) entonces se usa una clase JazzBandFactory que devuelve un objeto Banda con el atributo estilo con valor "Jazz" a través del método make() que es llamado desde una clase Factory abstracta.
El truco es que la clase abstracta tiene un método abstracto, entonces al llamar a ese método abstracto se usa el implementado por la subclase JazzBandFactory.
Así se genera una aplicación lista para implementarse, simplemente ante la necesidad de crear un nuevo tipo de banda, creamos una classe xxxxxxxxxFactory que crea y setéa un objeto banda de la manera que sea necesaria.
A nivel de código sería :
JazzBandFactory productorJazz = new JazzBandFactory();
Band banda = productorJazz.create(); //Este es la llamada al método de la Clase Abstracta Padre, este método llama al abstracto make que es implementado por JazzBandFactory.
// Aquí ya el objeto banda tiene los valores que le da JazzbandFactory en el metodo make
Descarga el código Java acá Factory.zip
Se puede usar en miles de casos, por ejemplo en perfiles de usuario, botones de un determinado estilo, etc, etc.
jueves 3 de mayo de 2007
Suscribirse a:
Enviar comentarios (Atom)

0 comentarios:
Publicar un comentario en la entrada