Decorator (Decorador o Wrapper) es un patrón de diseño estructural que permite añadir funcionalidades a objetos colocándolos dentro de objetos envoltura (wrappers) especiales que contienen los comportamientos adicionales.
Propósito y Caso de Uso
Utiliza el patrón Decorator cuando necesites asignar responsabilidades adicionales a objetos de manera dinámica y transparente, sin afectar a otros objetos de la misma clase.
Estructura del Patrón
- Componente Base: Define la interfaz común para los objetos envueltos y los decoradores.
- Componente Concreto: La clase o elemento base que proporciona la funcionalidad primaria por defecto.
- Decorador Base (Wrapper): Mantiene una referencia al componente envuelto y delega el trabajo, permitiendo añadir comportamientos antes o después de la ejecución.
Caso Práctico en Código
Para ver cómo aplicamos el patrón Decorator en React/Next.js interceptando enlaces MDX para convertirlos en tooltips del glosario sin romper SRP:
💡 Ver Caso Práctico: Ejemplo Práctico del Patrón Decorator