Diseño Avanzado de Software con Objetos II

OnLine     24 horas     20.400 + IVA    
Del 13/07 al 20/07. Días: Días de la semana, de 9:00 a 13:00 hrs GMT-3.
Introducción
¿Te gustaría saber qué es un closure y por qué los lenguajes que los incluye son más productivos?
¿Alguna vez te preguntaste si es necesario tener una jerarquía de Excepciones tan grande como la que proveen los lenguajes de programación?
¿Estás cansado de tener diseños complejos por más que uses patrones de diseño?
¿Querés saber cuál es la diferencia real entre un Decorator, Adapter o Proxy? ¿Querés tener más claro cuando usar un patrón de diseño y cuando no?
¿Tenés ganas de perderle el miedo a la meta-programación o querés saber qué es un lenguaje 'meta-circular' y practicar seriamente con uno de ellos?
Si alguna vez te hiciste alguna de estas preguntas ¡entonces este curso es para vos!
Descripción
El objetivo de este curso es enseñar a los asistentes las distintas soluciones de arquitectura de objetos para problemas recurrentes como Idioms, Patrones de Diseño y Frameworks, viendo en detalle sus características, ventajas y desventajas. Entender correctamente qué es la meta-programación, cómo aplicarla, las ventajas y desventajas de usarla. Conocer soluciones tecnológicas existentes, no populares aún en nuestra profesión, como las bases de objetos o los frameworks web basados en continuations. Una vez terminado el curso, los asistentes estarán capacitados para decidir cuándo y cómo utilizar correctamente un idiom, patrón de diseño o framework. Podrán realizar un análisis crítico de las nuevas herramientas que surgen constantemente en nuestra profesión, basando este análisis en bases conceptuales bien definidas. Y por último estarán capacitados para generar soluciones de diseño reusables basadas en la metaprogramación.

Temario

  • Caracterización del diseño.

  • Repaso de Jerarquías polimórficas.

  • Idioms

  • Utilización de Closures para sacar código repetido

  • Patrones de diseño:

    • Decorator

    • Adapter

    • Proxy

    • State

    • Composite

    • Visitor

    • Observer

    • Future

    • Role

    • Framework

      • Caja Blanca

      • Caja Negra

    • Ejemplo concreto con un Framework conocido

    • Metaprogramación

    • Reflexión

    • Introspección e Intersección

Objetivos
Resultado esperado

  • Utilización de patrones de diseño

  • Creación de patrones e idioms propios, orientados a resolver los problemas que el dominio en el que trabajan provee.

  • Generación de Frameworks especializados en el dominio de problema de la institución

  • Utilización de Metaprogramación en soluciones a desarrollar



Que no cubre

  • No es un curso de Sintaxis de lenguajes

  • Utilización de Ambiente de Desarrollo (Ej. Eclipse, VisualStudio, etc)

  • Notación completa de UML

  • Detalles de Frameworks particulares

  • No se ve en detalle el metamodelo de ningún lenguaje


Pre-Requisitos
Diseño Avanzado de Software con Objetos I o conocimientos relacionados.

Audiencia
Programadores, Diseñadores, Arquitectos, Lideres Técnicos

Cursos Relacionados
Comentario
Descuentos
Super Early Bird: 25% de descuento hasta el 29 de Mayo
Early Bird: 15% de descuento hasta el 6 de Julio
Costo en dólares para fuera de Argentina: u$s 325. Aplican los mismos descuentos
    
Lenguajes de programación
Smalltalk - Java - .Net - Ruby - Python - ObjectiveC - Php - Swift - JavaScript

Programador apasionado. Lic. en Ciencias de la Computación de la UBA. Fundador de 10Pines y de FAST (Fundación Argentina de Smalltalk). Profesor de la FCEyN de la UBA. Enseña el Paradigma de Objetos y Técnicas Agiles en la universidad y la industria. Key Note Speaker de congresos nacionales e internacionales. Contribuye en proyectos opensource de Smalltalk. Promueve las organizaciones horizontales y las metodologías ágiles. Lo pueden seguir en @hernanwilkinson