Temario¶ Principios Caso 1 - Recorrido de listas Cohesión Ocultar la implementación Herencia: generalización y especialización Polimorfismo Delegación Caso 2 - Implementación de una orquesta Composición y dependencias Inyección de dependencias Caso 3 - Caballeros de la mesa redonda Dependencias en Java Decoradores en Typescript Duplicación de código Caso 4 - Cálculo de nóminas Refactoring Código duplicado Ortogonalidad Aspectos Caso 5 - Editor de figuras Ortogonalidad con aspectos Programación orientada a aspectos Ejercicios Calidad Tratamiento de errores Excepciones Uso de null Fronteras Contratos Funcional Interfaces funcionales Lambdas Mixins Eventos Listeners Asíncronas Eventos