Online

Diseño Avanzado de Software con Objetos II

Empieza el 21/06
Del 21/06 al 02/07. Días: Lunes, Miércoles y Viernes de 9:00 a 13:00 (GMT-3).
AR$ 45.000- (IVA incluído)
Hernán Wilkinson
Dictado por:
Hernán Wilkinson
AR$ 45.000-
(IVA incluído)
U$D 500-
(impuestos incluídos)
Super Early-Bird Descuento del 20% por inscripción super-temprana hasta 31/05
Early Bird 10% de Descuento por inscripción temprana hasta 07/06
¿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!

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


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

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

Cursos Relacionados 



Hernán Wilkinson
Programador apasionado.
Licenciado 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 Twitter en @hernanwilkinson