Patrones GoF
Enviado por enredostylo • 26 de Mayo de 2014 • 909 Palabras (4 Páginas) • 415 Visitas
¿Qué son los patrones GoF?
Los patrones de diseño GOF (The Gang of Four) describen soluciones simples y elegantes a problemas
específicos en el diseño de software orientado a objetos. También son definidos estos patrones de
diseño como combinaciones de componentes, casi siempre clases y objetos que por experiencia se
sabe que resuelven ciertos problemas de diseño comunes. En términos generales es posible decir que
un patrón de diseño es una solución a un problema recurrente en el diseño de software.
En 1994 se publicó el libro “
Design Patterns: Elements of Reusable Object Oriented Sofware
” escrito por
los ahora famosos
Gang of Four
(GoF, que en español es la pandilla de los cuatro) formada por Erich
Gamma, Richard Helm, Ralph Johnson y John Vlissides. Ellos recopilaron y documentaron 23 patrones
de diseño aplicados usualmente por expertos diseñadores de software orientado a objetos
Los patrones de diseño el grupo de GoF clasifican en 3 grandes categorías basadas en su propósito:
creacionales, estructurales y de comportamiento.
Creacionales
: tratan con las formas de crear instancias de objetos. El objetivo de estos
patrones es de abstraer el proceso de instanciación y ocultar los detalles de cómo los objetos
son creados o inicializados.
o
Object Pool
(Conjunto de Objetos): Se obtienen objetos nuevos a través de la
clonación. Utilizado cuando el costo de crear una clase es mayor que el de clonarla.
Especialmente con objetos muy complejos. Se especifica un tipo de objeto a crear y se
utiliza una interfaz del prototipo para crear un nuevo objeto por clonación. El proceso
de clonación se inicia instanciando un tipo de objeto de la clase que queremos clonar.
o
Abstract Factory
(Fábrica abstracta): Permite trabajar con objetos de distintas familias
de manera que las familias no se mezclen entre sí y haciendo transparente el tipo de
familia concreta que se esté usando.
o
Builder
(Constructor virtual): Abstrae el proceso de creación de un objeto complejo,
centralizando dicho proceso en un único punto.
o
Factory Method
(Método de fabricación): Centraliza en una clase constructora la
creación de objetos de un subtipo de un tipo determinado, ocultando al usuario la
casuística para elegir el subtipo que crear.
o
Prototype
(Prototipo): Crea nuevos objetos clonándolos de una instancia ya existente.
o
Singleton
(Instancia única): Garantiza la existencia de una única instancia para una
clase y la creación de un mecanismo de acceso global a dicha instancia.
Estructurales
: Los patrones estructurales describen como las clases y objetos pueden ser
combinados para formar grandes estructuras y proporcionar nuevas funcionalidades. Estos
objetos adicionados pueden ser incluso objetos simples u objetos compuestos.
o
Adapter
(Adaptador): Adapta una interfaz para que pueda ser utilizada por una clase
que de otro modo no podría utilizarla.
o
Bridge
(Puente): Desacopla una abstracción de su implementación.
o
Composite
(Objeto compuesto): Permite tratar objetos compuestos como si se tratase
de uno.
o
Decorator
(Envoltorio): Añade funcionalidad a una clase dinámicamente.
o
Facade
(Fachada): Provee de una interfaz unificada simple para acceder a una interfaz
o grupo de interfaces de un subsistema.
o
Flyweight
(Peso ligero): Reduce la redundancia cuando gran cantidad de objetos
poseen idéntica información.
o
Proxy
: Mantiene un representante de un objeto.
Comportamiento
: Los patrones de comportamiento ayudan
...