Cada lenguaje, cada tecnología, cada paradigma de programación persigue siempre la reutilización de código. En la comunidad de desarrollo se habla frecuentemente de DRY (Don’t Repeat Yourself) o WORE (Write Once Run Everywhere). Pero estos manidos mantras se quedan frecuentemente en una mera declaración de principios.
El código desarrollado para su reutilización no es capaz de reubicarse en otros contextos arquitectónicos de aquellos para los que fue inicialmente diseñado. Las capacidades de meta-programación de JavaScript le convierten en un lenguaje flexible y lo suficientemente plástico como para adaptarse dinámicamente a cualquier solución construida.
En esta charla exploramos como construir programas que se modifiquen a si mismos para resolver estos problemas y discutiremos mecanismos, técnicas y patrones de metaprogramación basados en componentes de software.
Capítulo 1. Introducción
- Qué Es La Metaprogramación
- Por Qué La Metaprogramación
- El Proceso De La Metaprogramación
- La Metaprogramación Como Paradigma
Capítulo 2. JavaScript Como Lenguaje de Metaprogramación
- Introducción
- Capacidades de JavaScript En El Modelo de Objetos
- Capacidades de JavaScript En El Modelo Funcional
Capítulo 3. Técnicas De Metaprogramación Compositiva
- Técnicas de Adición Compositiva
- Técnicas de Extensión Compositiva
- Técnicas de Intercesión Compositiva
- Técnicas de Delegación Compositiva
Capítulo 4. Patrones De Metaprogramación Compositiva
- Patrones de Selección
- Patrones de Adaptación
- Patrones de Composición
- Patrones de Encapsulación
- Patrones de Contextualización