Escolar Documentos
Profissional Documentos
Cultura Documentos
22 Introduccin
Los cuatro ltimos patrones GRASP son: o Polimorfismo. o Indireccin. o Fabricacin Pura. o Variaciones Protegidas. Una frase corta como, Sugiero una Estrategia generada a partir de una Factorizacin para soportar Variaciones Protegidas y Bajo Acoplamiento con respecto a <X> revela mucha informacin sobre el diseo, puesto que el nombre de los patrones transmite de manera concisa un concepto de diseo complejo.
22.1 Polimorfismo
Problema: o Cmo manejar alternativas basadas en el tipo? Cmo crear componentes software conectables (pluggable)? Solucin: o Cuando las alternativas o comportamientos relacionados varan segn el tipo (clase), hay que asignar la responsabilidad para el comportamiento, utilizando operaciones polimrficas, a los tipos para los que vara el comportamiento. Discusin: o El polimorfismo es un principio fundamental para disear cmo se organiza el sistema para gestionar variaciones similares. o Segn el polimorfismo, un diseo basado en la asignacin de responsabilidades puede extenderse fcilmente para manejar nuevas variaciones. Contraindicaciones: o Dedicacin de un esfuerzo innecesario en la preparacin para le futuro diseo con polimorfismo en puntos de variacin que en realidad son improbables y nunca aparecern realmente. Beneficios: o Se aaden fcilmente las extensiones necesarias para nuevas variaciones. o Las nuevas implementaciones se pueden introducir sin afectar a los clientes. Patrones relacionados: o Variaciones Protegidas. o Patrones de diseo GoF = {Adaptator, Command, Composite, Proxy, Estado y Estrategia} Tambin conocido como; parecido a: o Eleccin del mensaje, No preguntes Qu clase?.
http://longinox.blogspot.com
http://longinox.blogspot.com
o o
22.3 Indireccin
Problema: o Dnde asignar una responsabilidad, para evitar el acoplamiento directo entre dos o ms cosas? o Cmo desacoplar los objetos de manera que se soporte el bajo acoplamiento y el potencial para reutilizar permanezca ms alto? Solucin: o Asignar la responsabilidad a un objeto intermedio que medie entre otros componentes o servicios de manera que no se acoplen directamente. Discusin: o La mayora de los problemas en informtica se pueden resolver mediante otro nivel de indireccin. o El motivo para la indireccin normalmente es el Bajo Acoplamiento; se aade un intermediario para desacoplar otros componentes o servicios. Beneficios: o Disminuir el acoplamiento entre los componentes. Patrones y principios relacionados: o Variaciones Protegidas. o Bajo Acoplamiento. o Muchos patrones GoF = {Adaptador, Puente, Fachada, Observador y Mediador}.
http://longinox.blogspot.com
Diseos reflexivos o de meta-nivel Acceso uniforme Principio de Sustitucin de Liskov (PSL) PLS formaliza el principio de proteccin contra las variaciones en implementaciones diferentes de una interfaz, o una subclase que extiende una superclase. Informalmente el software (mtodos, clases, ) que hace referencia a un tipo T (alguna interfaz o superclase abstracta) debera trabajar correctamente o como se espera con cualquier implementacin o subclase de T que la sustituya, llammosla S. Diseos de ocultacin de la estructura Ley de Demeter (No hable con estraos) es evitar crear diseos que recorren largos caminos de la estructura de objetos y enva mensajes (o habla) con objetos distantes, indirectos (extraos). Un mecanismo para lograr proteger de los cambios en la estructura es aplicar las reglas de No Hable con Extraos. Establece que en un mtodo, solo deberan enviarse mensajes a los siguientes objetos: 1. El objeto this. 2. Un parmetro del mtodo. 3. Un atributo de this. 4. Un elemento de una coleccin que es un atributo de this. 5. Un objeto creado en el mtodo. La intencin es evitar el acoplamiento de un cliente con conocimiento de objetos indirectos y las conexiones entre objetos. Los objetos directos son conocidos del cliente, los objetos indirectos son extraos. Un cliente debera hablar con conocidos y evitar hablar con extraos. En general, cuanto ms lejos se recorre a lo largo de un camino, ms frgil es y, por tanto, es ms til ser conforme con el principio No Hable Con Extraos. Contraindicaciones: o Se definen dos puntos de cambio: Punto de variacin: variacin en el sistema actual, existente o en los requisitos. Punto de evolucin: puntos especulativos de variacin que podran aparecer en el futuro, pero que no estn presentes en los requisitos actuales. VP se aplica tanto a los puntos de variacin como de evolucin Una advertencia: algunas veces el coste de futuras necesidades especulativas en los puntos de evolucin pesa ms que el coste en el que se incurre por un diseo simple, ms frgil que se revisa cuando sea necesario en respuesta a verdaderas presiones de cambio. Es decir, el coste de disear la proteccin en los puntos de evolucin puede ser ms alto que rehacer un diseo simple. Beneficios o Se aaden fcilmente las extensiones que se necesitan para nuevas variaciones. o Se puede introducir nuevas implementaciones sin afectar a los clientes. o Se reduce el acoplamiento. o Puede disminuirse el impacto o coste de los cambios.
http://longinox.blogspot.com