Método Fábrica (Factory
       Method)
       Integrantes:
     Jefferson Gómez
     Jonathan Calero
Patrones de diseño.
• Una técnica para flexibilizar el código haciéndolo
  satisfacer ciertos criterios.
• Proyecto o estructura de implementación que logra
  una finalidad determinada.
• Lenguaje de programación de alto nivel.
• Una manera más práctica de describir ciertos
  aspectos de la organización de un programa.
• Conexiones entre componentes de programas.
• Una solución estándar para un problema común de
  programación.
• La forma de un diagrama de objeto o de un modelo
  objeto.
Método Fábrica
• Define una interfaz para crear un objeto, pero
  deja que sean las subclases quienes decidan
  que clase instanciar. Permite que una clase
  delegue en sus subclases la creación de
  objetos.
• El patrón de diseño Factory Method consiste
  en definir una interfaz para crear objetos de tipo
  genérico permitiendo a las subclases decidir
  que tipo de objetos concreto crear.
Características

  • Clasificación: creacional
  • Se lo conoce Virtual Constructor.
  • Hace que un diseño sea más personalizable y sólo un
    poco más complicado. El método de fábrica sólo requiere
    una nueva operación.
  • Es similar a la Abstract Factory, pero sin el énfasis en las
    familias.
  • Es de rutina, especificados por un marco arquitectónico, y
    luego implementar por parte del usuario la estructura.
  • A este método se lo utiliza con el método plantilla.
Estructura




Producto
Define la interfaz de los objetos que crea el método de fabricación.
ProductoConcreto
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 ProductoConcreto. Puede llamar al
método de fabricación para crear un objeto Producto.
CreadorConcreto
Redefine el método de fabricación para devolver una instancia de ProductoConcreto.
Ejemplo
• Las prensas de moldeado a inyección
  sirven para explicar este patrón. Los
  fabricantes de juguetes de plástico
  procesan plástico en polvo para
  moldeado, e inyectan el plástico en
  moldes con las formas deseadas. La clase
  de un juguete (auto, figura, etc.) es
  determinada por el molde.
Ejemplo
Conclusiones:
 • El patrón Factory Method permite escribir
   aplicaciones que son más flexibles respecto de
   los tipos a utilizar difiriendo la creación de las
   instancias en el sistema a subclases que pueden
   ser extendidas a medida que evoluciona el
   sistema.
 • Permite también encapsular el conocimiento
   referente a la creación de objetos. Factory Method
   hace también que el diseño sea más adaptable a
   cambio de sólo un poco más de complejidad.
 • Inconveniente: Se obliga al cliente a definir
   subclases de la clase “Creador” sólo para crear
   unproducto concreto y esto puede no
   ser apropiado siempre
Referencias
• http://msdn.microsoft.com/es-
  es/library/bb972258.aspx
• http://es.wikipedia.org/wiki/Factory_Metho
  d_(patr%C3%B3n_de_dise%C3%B1o)
Método fabrica (Method Factory)

Método fabrica (Method Factory)

  • 1.
    Método Fábrica (Factory Method) Integrantes: Jefferson Gómez Jonathan Calero
  • 2.
    Patrones de diseño. •Una técnica para flexibilizar el código haciéndolo satisfacer ciertos criterios. • Proyecto o estructura de implementación que logra una finalidad determinada. • Lenguaje de programación de alto nivel. • Una manera más práctica de describir ciertos aspectos de la organización de un programa. • Conexiones entre componentes de programas. • Una solución estándar para un problema común de programación. • La forma de un diagrama de objeto o de un modelo objeto.
  • 3.
    Método Fábrica • Defineuna interfaz para crear un objeto, pero deja que sean las subclases quienes decidan que clase instanciar. Permite que una clase delegue en sus subclases la creación de objetos. • El patrón de diseño Factory Method consiste en definir una interfaz para crear objetos de tipo genérico permitiendo a las subclases decidir que tipo de objetos concreto crear.
  • 4.
    Características •Clasificación: creacional • Se lo conoce Virtual Constructor. • Hace que un diseño sea más personalizable y sólo un poco más complicado. El método de fábrica sólo requiere una nueva operación. • Es similar a la Abstract Factory, pero sin el énfasis en las familias. • Es de rutina, especificados por un marco arquitectónico, y luego implementar por parte del usuario la estructura. • A este método se lo utiliza con el método plantilla.
  • 5.
    Estructura Producto Define la interfazde los objetos que crea el método de fabricación. ProductoConcreto 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 ProductoConcreto. Puede llamar al método de fabricación para crear un objeto Producto. CreadorConcreto Redefine el método de fabricación para devolver una instancia de ProductoConcreto.
  • 6.
    Ejemplo • Las prensasde moldeado a inyección sirven para explicar este patrón. Los fabricantes de juguetes de plástico procesan plástico en polvo para moldeado, e inyectan el plástico en moldes con las formas deseadas. La clase de un juguete (auto, figura, etc.) es determinada por el molde.
  • 7.
  • 8.
    Conclusiones: • Elpatrón Factory Method permite escribir aplicaciones que son más flexibles respecto de los tipos a utilizar difiriendo la creación de las instancias en el sistema a subclases que pueden ser extendidas a medida que evoluciona el sistema. • Permite también encapsular el conocimiento referente a la creación de objetos. Factory Method hace también que el diseño sea más adaptable a cambio de sólo un poco más de complejidad. • Inconveniente: Se obliga al cliente a definir subclases de la clase “Creador” sólo para crear unproducto concreto y esto puede no ser apropiado siempre
  • 9.
    Referencias • http://msdn.microsoft.com/es- es/library/bb972258.aspx • http://es.wikipedia.org/wiki/Factory_Metho d_(patr%C3%B3n_de_dise%C3%B1o)