En el presente captulo se definirn los patrones de diseo usados durante el desarrollo del sistema de sta tesis. Cada patrn ser definido y se presentar su diagrama UML de clases. El orden en el cual se presentan cada uno de los patrones va de acuerdo a su uso en el siguiente captulo. 4.1 Patrn Bridge Definicin: El patrn Bridge desacopla la abstraccin de la implementacin por lo tanto ambas pueden variar de forma independiente [Gamma, 1995]. Diagrama UML de clases del patrn Bridge:
29
4.2 Patrn Abstract Factory Definicin: El patrn Abstract Factory provee una interface para crear una familia de objetos similares o dependientes sin especificar sus clases concretas [Gamma, 1995]. Diagrama UML de clases del patrn Abstract Factory:
30
4.3 Patrn Builder Definicin: El patrn Builder separa la construccin de la representacin de un objeto complejo, por lo tanto la misma construccin puede crear diferentes representaciones [Gamma, 1995]. Diagrama UML de clases del patrn Builder:
4.4 Patrn Iterator Definicin: El patrn Iterator provee una manera de acceder elementos de un objeto agregado sin exponer su representacin interna [Gamma, 1995].
31
Diagrama UML de clases del patrn Iterador:
4.5 Patrn Command Definicin: El patrn Command encapsula una peticin como objeto, por lo tanto permite dar como parmetros otros objetos con diferentes peticiones, colas o peticiones de registro, adems soporta el deshacer operaciones [Gamma, 1995]. Diagrama UML de clases del patrn Command: 32
4.6 Patrn Strategy Definicin: Define una familia de algoritmos, los encapsula, y los hace intercambiables. Este patrn permite que los algoritmos varen de forma independiente de los clientes que lo usan [Gamma, 1995]. Diagrama UML de clases del patrn Strategy:
33
4.7 Patrn Decorator Definicin: El patrn Decorador atribuye responsabilidades adicionales a un objeto de forma dinmica. Decorador provee una alternativa flexible de subclases para extender funcionalidad [Gamma, 1995]. Diagrama UML de clases del patrn Decorador: 34
4.8 Patrn Flyweight Definicin: El patrn Flyweight comparte estados para soportar un gran nmero de objetos pequeos aumentando la eficiencia en espacio [Gamma, 1995]. Diagrama de clases UML del patrn Flyweight:
35
4.9 Patrn Chain of Responsability Definicin: El patrn Chain of Responsability evita acoplar el emisor de una peticin de su receptor, dando la posibilidad a ms de un objeto de responder a una peticin. Encadena los objetos receptores y pasa dicha peticin a travs de la cadena hasta que es procesada por algn objeto [Gamma, 1995]. Diagrama UML de clases del patrn Chain of Responsability
36
4.10 Patrn Proxy Definicin: El patrn Proxy provee un sustituto para controlar el acceso a otro objeto [Gamma, 1995]. Diagrama UML de clases del patrn Proxy. 37
4.11 Patrn Interpreter Definicin: El patrn Interpreter dado cierto lenguaje, define una representacin para su gramtica, y usa la representacin para interpretar las sentencias del lenguaje [Gamma, 1995]. Diagrama UML de clases del patrn Interpreter