Sei sulla pagina 1di 5

Patrones [Patterns]

Los patrones son una forma de disear e interactuar de los objetos, adems ofrecen una plataforma de comunicacin respecto de las soluciones elegantes y reutilizables a los problemas de programacin ms frecuentes. Solucin comn, elegante, y probada para un problema especifico

Creational Patterns[Patrones Creacionales]

Singleton Design Pattern


Singleton -> Una clase de la que slo puede existir una instancia. 1) Asegrese de que una clase tiene slo una instancia y proporcionar un punto de acceso global a ella. Frecuencia de uso 2) Diagrama de Clase [UML]

3) Participantes a. Las clases y / o objetos que participan en este modelo son: i. Singleton (LoadBalancer):

Define una operacin de instancia que permite a los clientes acceder a su instancia nica, instance es una operacin de la clase. ii. Es responsable de crear y mantener su propia y nica instancia.

4) Sintaxis.
class Singleton { private static Singleton instance; // Objeto a Instanciar del mismo tipo de la clase private static object syncLock = new object(); //Objeto SynLock protected Singleton() { //Constructor con mbito Protegido } public static Singleton GetInstance() //Se puede usar cualquier nombre [GetInstance] { if (instance == null) { lock (syncLock) { if (instance == null) { instance = new Singleton(); //Usa el constructor protected } } } return instance; //Retorna el objeto instanciado } }

ReFactory [Abstract Factory]


Abstract Facctory -> Crea una instancia de varias familias de clases 1) Provee una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases concretas.

Frecuencia de uso 2) Diagrama de Clase [UML]

3) Participantes a. Las clases y / o objetos que participan en este modelo son: i. AbstractFactory (ContinentFactory) 1. Declara una interfaz para operaciones que crean productos abstractos ii. ConcreteFactory (AfricaFactory, AmericaFactory) 1. implementa las operaciones para crear objetos concretos del producto iii. AbstractProduct (herbvoro, carnvoro) 1. Declara una interfaz para un tipo de producto objeto iv. Producto (u, len, bisonte, lobo) 1. define un objeto producto a ser creado por la fbrica de hormign correspondiente 2. implementa la interfaz AbstractProduct v. Client (Animalworld) 1. utiliza interfaces declaradas por las clases AbstractFactory y AbstractProduct

Structural Patterns [Patrones Estructurales]

Proxy
Un objeto que representa a otro objeto. 1) Proporcionar un sustituto o marcador de posicin de otro objeto para controlar el acceso a ella. Frecuencia de uso 2) Diagrama de Clase [UML]

3)

Participantes i) Proxy (MatematicasProxy) a. Mantiene una referencia que permite que el proxy de acceso del sujeto real. Proxy puede referirse a un Subject si las interfaces RealSubject y Subject son las mismas. b. Proporciona una interfaz idntica a la del sujeto, as que un proxy puede ser sustituido por el sujeto real. c. Controla el acceso al sujeto real y puede ser responsable de la creacin y supresin de la misma. d. Otras responsabilidades, depender del tipo de proxy: i. Proxies remotos son responsables de la codificacin de una solicitud y sus argumentos y para el envo de la peticin codificada con el tema real en un espacio de direcciones diferentes. ii. Proxies cach virtual puede obtener informacin adicional sobre el tema real, de modo que puedan posponer el acceso a la misma. Por ejemplo, el ImageProxy de la motivacin cachs medida que las imgenes de verdad. iii. Proxies de proteccin comprobar que la persona que llama tiene los permisos de acceso necesarios para realizar una solicitud. ii) Subject (IMatematicas) define la interfaz comn para RealSubject y Proxy para que un proxy se puede utilizar en cualquier lugar donde RealSubject se espera. iii) RealSubject(Matematicas) define el objeto real que la que representa.

Potrebbero piacerti anche