Professional Documents
Culture Documents
Estos objetos adicionados pueden ser incluso objetos simples u objetos compuestos.
* Comportamiento: Los patrones de comportamiento nos ayudan a definir la comunicacin
e iteracin entre los objetos de un sistema. El propsito de este patrn es reducir el
acoplamiento entre los objetos.
En el segundo nivel, ellos clasificaron los patrones en 2 mbitos: Clases y objetos. Es as
que, tenemos 6 tipos de patrones:
Creacionales
* Creacional de la Clase
Los patrones creacionales de Clases usan la herencia como un mecanismo para lograr la
instanciacin de la Clase. Por ejemplo el mtodo Factora.
* Creacional del objeto
Los patrones creacionales de objetos son ms escalables y dinmicos comparados de los
patrones creacionales de Clases. Por ejemplo la Factora abstracta y el patrn Singleton.
Estructurales
* Estructural de la Clase
Los patrones estructurales de Clases usan la herencia para proporcionar interfaces ms
tiles combinando la funcionalidad de mltiples Clases. Por ejemplo el patrn Adaptador
(Clase).
* Estructural de Objetos
Los patrones estructurales de objetos crean objetos complejos agregando objetos
individuales para construir grandes estructuras. La composicin de l patrn estructural del
objeto puede ser cambiado en tiempo de ejecucin, el cual nos da flexibilidad adicional
sobre los patrones estructurales de Clases. Por ejemplo el Adaptador (Objeto), Facade,
Bridge, Composite.
Comportamiento
* Comportamiento de Clase
Los patrones de comportamiento de Clases usan la herencia para distribuir el
comportamiento entre Clases. Por ejemplo Interpreter.
* Comportamiento de Objeto
Los patrones de comportamiento de objetos nos permite analizar los patrones de
comunicacin entre objetos interconectados, como objetos incluidos en un objeto
complejo. Ejemplo Iterator, Observer, Visitor.
Patron Singleton
El patrn de diseo singleton (instancia nica) est diseado para restringir la creacin de
objetos pertenecientes a una clase o el valor de un tipo a un nico objeto.
Su intencin consiste en garantizar que una clase slo tenga una instancia y proporcionar
un punto de acceso global a ella.
El patrn singleton se implementa creando en nuestra clase un mtodo que crea una
instancia del objeto slo si todava no existe alguna. Para asegurar que la clase no puede
ser instanciada nuevamente se regula el alcance del constructor (con atributos como
protegido o privado).
La instrumentacin del patrn puede ser delicada en programas con mltiples hilos de
ejecucin. Si dos hilos de ejecucin intentan crear la instancia al mismo tiempo y esta no
existe todava, slo uno de ellos debe lograr crear el objeto. La solucin clsica para este
problema es utilizar exclusin mutua en el mtodo de creacin de la clase que implementa
el patrn.
Las situaciones ms habituales de aplicacin de este patrn son aquellas en las que dicha
clase controla el acceso a un recurso fsico nico (como puede ser el ratn o un archivo
abierto en modo exclusivo) o cuando cierto tipo de datos debe estar disponible para todos
los dems objetos de la aplicacin.
El patrn singleton provee una nica instancia global gracias a que:
La propia clase es responsable de crear la nica instancia.
Permite el acceso global a dicha instancia mediante un mtodo de clase.
Declara el constructor de clase como privado para que no sea instanciable directamente.