Está en la página 1de 11

Universidad Nacional del Nordeste Facultad de Ciencias Exactas y Naturales y Agrimensura Licenciatura en Sistemas de Informacin Anlisis de Sistemas II Tema:

Patrn Factory Integrante: Villafae, Alfredo

LU:37738

Introduccin

Este tipo de patrn se usa bastante debido a su utilidad. Su objetivo es devolver una instancia de mltiples tipos de objetos, normalmente todos estos objetos provienen de una misma clase padre mientras que se diferencian entre ellos por algn aspecto de comportamiento. El funcionamiento es muy simple y se puede observar en la siguiente figura (ntese que obviamente puede tambin devolver un nico tipo de

Introduccin

El objeto Factory ser el encargado de decidir segn los parmetros que le pasemos el tipo de objeto que nos devolver. Existen diferentes patrones de fabricacin. En este tema, trataremos Abstract Factory, Factory Method, y Simple Factory

Fbricas

Llamaremos fbrica, factora o factory a una clase que implemente uno o ms mtodos de creacin, que son los mtodos que se encargan de crear instancias de objetos (estas instancias pueden ser de esta misma clase o de otras). Esta clase tiene entre sus responsabilidades la creacin de instancias de objetos, pero puede tener tambin otras responsabilidades adicionales.

Fbricas

Existen diferentes "tipos" de fbricas. A continuacin enumeraremos cada una de ellos, a los efectos de dejar bien en claro sus significados:

Simple Factory Clase utilizada para crear nuevas instancias de objetos.

Factory Method Define una interfaz para crear objetos pero deja que sean las subclases las que deciden qu clases instanciar.

Abstract Factory Proporciona una interfaz para crear familias de objetos relacionados o que dependen entre s, sin especificar sus clases concretas. Nosotros tan slo tenemos que utilizar las interfaces que se nos proponen para interactuar con el sistema, sin importar el tipo de elemento a instancias, ya que la fbrica lo har por nosotros.

CARACTERISTICAS

Ventajas
Centralizacin de la creacin de objetos Facilita la escalabilidad del sistema El usuario se abstrae de la instancia a crear control de la creacin de objetos.

EJEMPLO: Factory

Como en todas las factorias, tenemos las clases instanciadas (JuegoDelDado y JuegoDeMoneda) que se relacionan con una clase madre (extends) o con un interfaz lgico (implements). En nuestro caso usamos interfaz.

ventajas e inconvenientes - El patrn Abstract Factory


Asla las clases concretas. El patrn Abstract Factory ayuda a controlar las clases de objetos que crea una aplicacin. Facilita el intercambio de familias de productos. La clase de una fbrica concreta slo aparece una vez en una aplicacin (cuando se crea). Promueve la consistencia entre productos. Cuando se disean objetos producto en una familia para trabajar juntos, es importante que una aplicacin use objetos de una sola familia a la vez. Es difcil dar cabida a nuevos tipos de productos. Ampliar las fbricas abstractas para producir nuevos tipos de productos que

Conclusin: Flexibilidad y Complejidad


Los patrones de fabricacin aaden flexibilidad a las aplicaciones, pero a expensas de mayor complejidad. Por lo tanto, es recomendable analizar bien el problema a resolver antes de incluirlas. Para terminar, considero oportuno citar la siguiente frase sobre las fbricas de Robert Martin [Martin05]: No las use por defecto, y no comience utilizndolas frente al primer indicio de que puedan serle tiles ... Aguarde a tener un problema concreto que las fbricas puedan resolver. Y en ese caso, no dude en utilizarlas.

Referencias y Bibliografa

[C204] C2 Wiki: Abstract Factory vs Factory Method. http://c2.com/cgi/wiki?AbstractFactoryVsFactoryMethod [Duell97] Duell, Michael: Non-software examples of software design patterns, Object Magazine, July 1997, pp54.

[Fowler99] Fowler, Martin: Refactoring: Improving the Design of Existing Code, Adisson Wesley, 1999.
[GoF95] Gamma E., Helm, R., Johnson, R., Vlissides J.: Design Patterns: Elements of Reusable Object Oriented Software, Addison Wesley, 1995. [Kerievsky04] Kerievsky, Joshua: Refactoring to Patterns, Addison-Wesley, 2004. [Martin05] Martin, Robert: Principles, Patterns, and Practices: The Factory Pattern. http://today.java.net/pub/a/today/2005/03/09/factory.html [PPR04] C2 WikiWikiWeb: Portland Pattern Repository <en lnea>. http://c2.com/ppr/ [DPE01] Shalloway, Alan; Trott James : Design Patterns Explained : A New perspective on Object Oriented Design, Pearson Education, 2001. [Vlissides98] Vlissides, John: Pattern Hatching: Design Patterns Applied, Addison Wesley, 1998. Len Welicki es Profesor Asociado de Ingeniera Web en el Mster en Ingeniera del Software de la Universidad Pontificia de Salamanca, Madrid, Espaa; donde actualmente est realizando el Doctorado en Ingeniera Informtica, su tesis doctoral trata sobre las Arquitecturas de Software y Paradigmas No Convencionales para Ingeniera Web. Trabaja como Arquitecto de Software. Cuenta con ms de 12 aos de experiencia profesional en diversas reas de la Ingeniera del Software. http://msdn.microsoft.com/es-es/library/bb972258.aspx#EBAA http://siul02.si.ehu.es/~alfredo/iso/06Patrones.pdf http://www.lawebdelprogramador.com/codigo/PHP/1719-Patron_Factory.html http://ocw.unican.es/ensenanzas-tecnicas/ingenieria-del-software-i/materiales-de-clase-1/is1_t06_EjPatrones.pdf ftp://jano.unicauca.edu.co/cursos/Maestria/AplicacionesInternet/docs/MANUAL%20-%20PROGRAMACION%20%20JAVA%20-%20PATRONES.pdf

También podría gustarte