Author: Cristian David Villota - Dario José Martinez Rodriguez
Variaciones Protegidas
En este patron de diseño lo importante es protegerse ante el cambio, para ello se usan técnicas que identifiquen los módulos, clases o partes del sistema que pueden ser susceptible a modificaciones durante el tiempo y sean envueltas en una interfaz con ayuda del polimorfismo, dejando que ésta, sea lo mas independiente posible a nuestro sistema, permitiendo que, cuando se genere una variación o un cambio, afecte en la menor medida posible, que no presente efectos colaterales y que no modifique la estructura principal del sistema. Las variaciones Protegidas hacen parte de los patrones Grasp avanzados.
Para entender este concepto es necesario tener claro lo qué es el polimorfismo y la indirección; como se ha expresado anteriormente en este libro, Polimorfismo es "la propiedad que permite que una misma operación sea aplicada a varios objetos del mismo tipo"; por su parte la indirección, es "la propiedad que permite mejorar el bajo acoplamiento entre dos clases asignando la responsabilidad de la mediación entre ellos a una clase intermedia". En conclusion, el patrón de Variaciones Protegidas nos permite ir un paso adelante del cambio, para cuando el cliente o el contexto nos obligue a realizar modificaciones, sea lo menos perturbador posible, de esta manera, protegemos ciertas partes del sistema ante el cambio y le damos flexibilidad a los componenetes que lo requieran.