0% encontró este documento útil (0 votos)
188 vistas3 páginas

Abstract Factory en Patrones Creacionales

El documento describe el patrón creacional Abstract Factory. Abstract Factory intenta proveer una interfaz para la creación de familias de objetos relacionados sin especificar sus clases concretas. Un ejemplo común es una fábrica abstracta que crea objetos de interfaz gráfica de usuario para diferentes temas sin especificar las clases concretas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
188 vistas3 páginas

Abstract Factory en Patrones Creacionales

El documento describe el patrón creacional Abstract Factory. Abstract Factory intenta proveer una interfaz para la creación de familias de objetos relacionados sin especificar sus clases concretas. Un ejemplo común es una fábrica abstracta que crea objetos de interfaz gráfica de usuario para diferentes temas sin especificar las clases concretas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Patrones creacionales

Que son los patrones creacionales


Patrones de Diseño Creacionales - Abstract Factory
Los patrones de diseño creacionales son aquellos que abstraen el proceso de
instanciación. Ellos ayudan a hacer un sistema independiente de como sus
objetos son creados, compuestos, y representados. Una patrón creacional de
clase usa herencia para variar la clase que es instanciada, mientras un patron
creacional de objeto delegará la instanciación a otro objeto.

Los patrones creacionales se vuelven importantes en sistemas que pasan a


depender más de la composición de objetos que de la herencia de clases.
Como eso sucede, el enfasis cambia de modificar dificilmente un conjunto fijo
de comportamientos hacia definir un conjunto pequeño de comportamientos
fundamentales que pueden ser compuestos dentro de cualquier numero de los
más complejos. Creando así objetos con un comportamiento particular que
requiere más que simplemente instanciar una clase.

Abstract Factory

Intenta:
proveer una interfaz para la creación de familias objetos relacionados o
dependientes sin especificar sus clases concretas.

Aplicación:

Un sistema debería ser independiente de como sus productos son creados,


compuestos, y representados.

Un sistema debería ser configurado con una de múltiples familias de productos.

Una familia de objetos producto relacionados es diseñada para ser usados


juntos y necestás hacer cumplir esta restricción.
Buscás proveer una biblioteca de clases de productos, y buscas revelar solo
sus interfaces, no su implementación.

Participantes:

Abstract Factory - declara una interfaz para operaciones que crean objetos
producto abstractos.

ConcreteFactory - implementa las operaciones para crear objetos producto


concretos.

AbstractProduct - declara una interfaz para un tipo de objeto producto.

ConcreteProduct - define un producto objeto para ser creado por el


correspondiente Concrete Factory. - implementa la interfaz del AbstractProduct.

Client - usa solo las interfaces declaradas por las clases AbstractFactory y
AbstractProduct

Ejemplos de Abstract Factory en Python

[0][1][2]

[0] http://python-3-patterns-idioms-test.readthedocs.org/en/latest/
Factory.html#abstract-factories

[1] http://ginstrom.com/scribbles/2007/10/08/design-patterns-python-style/

[2] http://jpython.blogspot.com.ar/2012/09/python-design-pattern-abstract-
factory.html

Los patrones de diseño de software describen cómo resolver problemas


recurrentes. Si tienes un problema de diseño es muy probable que ya exista un
patrón que lo solucione, no reinventes la rueda.

Me gusta pensar que los patrones de diseño de software son como la caja de
herramientas de los desarrolladores, donde usas la herramienta adecuada para
solucionar un problema determinado.
Cuales son sus características

Como se clasifican

Cual es el mas utilizado y por que

De un ejemplo del mas ultizado

El catálogo de patrones de diseño (refactoring.guru)

También podría gustarte