Metaprogramación con Lenguajes de Objetos

Duración: 16 horas



El objetivo de este curso es que los asistentes entiendan el concepto de meta programación y aprendan cómo implementar y utilizar un lenguaje meta-circular.

Entender la necesidad de "upward-compatibility" y "downward-compatibility" y las soluciones de metaclases explicitas e implicitas.

Aprender y modificar el meta-modelo del lenguaje de programación que utilizas.

Utilizar técnicas de meta-programación para la resolución de problemas diarios que surgen en todo proyecto de software como la implementación de patrones de diseño genéricos, la inspección automatizada de reglas de diseño y muchos problemas más.

Temario


  • Definición de Meta-programación
  • Meta-programación estructural y de comportamiento.
  • Meta-programación de lectura y escritura
  • Reflexión, Introspección e Intersección
  • Upward y Downward compatibility
  • Metaclases implícitas y explícitas
  • Metamodelo de los siguientes lenguajes:
    • Java y .Net
    • Ruby
    • Python
    • Smalltalk
  • Utilización de meta-programación para implementación de patrones de diseño
  • Utilización de meta-programación para revisiones automáticas de reglas de diseño
  • Utilización de meta-programación en frameworks conocidos

Resultado esperado


  • Que los asistentes dominen las técnicas de meta-programación
  • Que los asistentes entiendas y sepan manipular el metamodelo del lenguaje de programación que usan
  • Que los asistentes se sientan capacitados para crear las herramientas que consideren necesarias para facilitar sus tareas

Qué no cubre

  • Detalles de Frameworks particulares

Pre-requisitos

Diseño Avanzado de Software con objetos II o conocimientos acorde a lo presentado en dicho curso.

Audiencia

Arquitectos, Diseñadores, Programadores, Líderes Técnicos

Cursos Relacionados

Lenguajes de programación

Smalltalk - Java - Ruby - Python - ObjectiveC - Swift

Estas empresas se capacitaron con nosotros

Capacitate con nosotros