conceptos-metamodelos
Contenidos Teóricos
- Mixins & Traits
- Aspect-Oriented Programming
Object-Based Languages (vs. class-based)
- Clonación
Patrones de diseño en esta nueva perspectiva
Bonus:
- Open classes
- Subject Oriented Programming
- Behavioural completeness
Tecnologías
Bibliografía
- Antero Taivalsaari. The notion of Inheritance
- Gilad Bracha. Mixin-based Inheritance
- Stéphane Ducasse. *Traits: Composable Units of Behavior *
Ejemplos
//TODO Esta sección la podemos volar? (javi) * Traits
Colecciones con límite de tamaño y con validaciones.
Sin estado: Cuentas bancarias.
Autosuficientes: Docentes, alumnos y ayudantes.
Alquiler
Enumerables
Aspectos
- Objetos observables. Ver ejemplo de Arena.
- Mixin de objetos persistentes. Behavioural completeness.
- Objetos transaccionales.
Comparar los patrones de diseño en presencia de diferentes elementos conceptuales:
- Factory Methods y Abstract Factories en Smalltalk.
- Strategies (en Self / Ioke)
- Decorator (en Scala y Ioke)
Analizar el impacto en la programación y el diseño de un entorno en el cual los objetos pueden ir mutando a lo largo de su ciclo de vida. Cómo se “diseña” en la presencia de estos conceptos.
- Comparar con otros lenguajes como Python, Ruby, Groovy