GRAPS INDIRECTION Luis Carlos Guevara Villalobos PROBLEMA
¿Dónde asignar una responsabilidad para evitar un acoplamiento directo
entre dos (o más) cosas? ¿Cómo desacoplar objetos para lograr bajo acoplamiento y alto reuso? SOLUCIÓN
Asignar la responsabilidad a un objeto intermedio para mediar
entre otros componentes o servicios tal que no queden directamente acoplados El intermediario crea una indirección entre los componentes involucrados EJEMPLO – TAXCALCULATORADAPTER (EJEMPLO LIBRO) Estos objetos actúan como intermediarios a las calculadoras de impuestos externas. A través del polimorfismo proveen una interfaz consistente, ocultando las variaciones de las APIs EJEMPLO – SISTEMA JEP Interactúa con Fiscalía para validar lista de evidencias, la fiscalía es un sistema aparte. CONSIDERACIONES
Muchos patrones de diseño GoF son especializaciones de
Indirection: Adapter, Facade, Observer, Bridge, Mediator etc. BENEFICIOS