Promueve la flexibilidad y la protección frente a las variaciones.
Mecanismos motivados por las VP
- Básicos: encapsulación de datos, interfaces, indirección y polimorfismo
Diseño dirigido por datos: Parametriza un sistema en tiempo de ejecución, hojas de estilo, etc. - Búsqueda de servicios: JNDI en Java, UDDI.
- Diseño dirigido por intérpretes: Máquinas virtuales y lenguajes de scripts.
- Diseños reflexivos o de meta-nivel.
- Principio de sustitución de Liskov.
- Diseño de ocultación de la estructura (No hable con extraños o ley de Demeter).