www.inacap.cl
Patrones de Diseo
www.inacap.cl
Segn Christopher Alexander Master en matemticas y licenciado en arquitectura al hablar de un patrn deca: Cada patrn define un problema que ocurre una y otra vez en nuestro entorno, as como la solucin de esos problemas, de modo que se puede aplicar un solucin un milln de veces, sin hacer lo mismo dos veces . Aunque el haca referencia a patrones de ciudades y edificios esta afirmacin es igual de vlida para los patrones de diseo orientados a objetos.
www.inacap.cl
www.inacap.cl
de clases y objetos relacionados que estn particularizados para resolver un problema de diseo general en un determinado contexto.
Un patrn de diseo nomina, abstrae e identifica los aspectos claves de una estructura de diseo comn, lo que los hace tiles para crear un diseo orientado a objeto. Cada patrn de diseo se centra en un problema especifico adems proporciona cdigo de ejemplo para ayudar a la implementacin del diseo
www.inacap.cl
Patrones de Creacin.
Los patrones de creacin cumplen con el objetivo de crear una abstraccin en el proceso de creacin de los objetos. Un patrn de creacin de clases se basa en el paradigma de la herencia para cambiar la clase de la instancia a crear, en cambio, un patrn de creacin de objeto deja esta responsabilidad a otro objeto la creacin de esta instancia. Esto permite que un sistema sea independiente de como se crean, componen y se representan sus objetos.
www.inacap.cl
La importancia de estos patrones se ve resaltada a medida que los sistemas van evolucionando, haciendo que los sistemas dependan ms de la composicin de los objetos que la herencia clases. Caractersticas de estos patrones son que encapsula el conocimiento de las clases concretas del sistema y adems ocultan como se crean y asocian las instancias de dichas clases. Esto se logra haciendo que el sistema solo conozca sus interfaces tal como las defines sus propias clases abstractas, por lo tanto se crea un alto grado de flexibilidad en que los que se crea, quien lo crea y no menos importante cuando. Esta configuracin puede ser esttica (en tiempo de configuracin) o dinmica (en tiempo de ejecucin).
www.inacap.cl
www.inacap.cl
Patrones Estructurales.
Los patrones estructurales se ocupan de cmo se combinan las clases y los objetos para formas estructuras ms grandes. Los patrones estructurales de clase hacen uso de la herencia para componer interfaces o implementaciones en cambio los patrones estructurales de objetos definen formas de componer objetos para obtener nueva funcionalidad. La flexibilidad aadida a la composicin de objetos viene dada por la capacidad de cambiar la composicin de objetos en tiempo de ejecucin, lo que es imposible con la composicin esttica.
www.inacap.cl
Flyweight. Usa el compartimiento para permitir un gran nmero de objetos de grano fino de forma eficiente.
Proxy. Proporciona un sustituto o representante de otro objeto para controlar el acceso a ste.
www.inacap.cl
Patrones de Comportamiento.
Los patrones de comportamiento tienen que ver con la asignacin de responsabilidades a los objetos y los algoritmos. Pero estos patrones no solo se limitan a describir patrones de clases y objetos sino tambin patrones de comunicacin entre ellos.
Este patrn permite concentrarse en el modo que se interconectan los objetos. Los patrones de comportamiento basado en clases usan la herencia. Ejemplo de esto es un mtodo plantilla que es una definicin abstracta de un algoritmo, que define al algoritmo paso a paso y cada paso invoca a una operacin abstracta generalmente. Una subclase completa el algoritmo definiendo las operaciones abstractas.
www.inacap.cl
Los patrones de comportamiento basados en objetos usan la composicin de los objetos en vez de la herencia. Alguno de ellos describen como cooperan un grupo de objetos realizando una tarea que por s solos no podran realizar. Para esto existe un patrn mediador que introduce un objeto mediador el cual proporciona un bajo acoplamiento entre los objetos.
www.inacap.cl
www.inacap.cl
Memento. Representa y externaliza el estado interno de un objeto sin violar la encapsulacin, de forma que ste puede volver a dicho estado ms tarde. Observer. Define una dependencia de uno-a-muchos entre objetos, de forma que cuando un objeto cambia de estado se notifica y actualizan automticamente todos los objetos. State. Permite que un objeto modifique su comportamiento cada vez que cambia su estado interno. Parecer que cambia la clase del objeto. Strategy. Define una familia de algoritmos, encapsula uno de ellos y los hace intercambiables. Permite que un algoritmo vare independientemente de los clientes que lo usan. Template Method. Define en una operacin el esqueleto de un algoritmo, delegando en las subclases algunos de sus pasos. Permite que las subclases redefinan ciertos pasos del algoritmo sin cambiar su estructura. Visitor. Representa una operacin sobre los elementos de una estructura de objetos. Permite definir una nueva operacin sin cambiar las clases de los elementos sobre los que opera.
www.inacap.cl
www.inacap.cl
www.inacap.cl
www.inacap.cl
www.inacap.cl
www.inacap.cl
www.inacap.cl
Actividad en clases
Explique la diferencia entre soluciones diseadas a la medida y soluciones genricas mediante estandarizaciones Explique el concepto de estandarizacin en sistemas informticos. Explique los conceptos de parametrizacin y configuracin en sistemas reales. Explica GAP diferenciando su estructuracin y funcionamiento mediante ejemplos. Diseo genrico. Paradigma 4+1
www.inacap.cl