Temario del curso
Repaso
- Herencia e interfaces
- Referencias a objetos frente a herencia
- Polimorfismo
- Métodos estáticos y por defecto en interfaces
- Colecciones y genéricos
- Genéricos (herencia, comodines)
- Escritura de tipos genéricos
Patrones de diseño
- Creación de objetos
- Métodos y campos estáticos
- Operador new
- Patrones de creación
- Herencia frente a composición: ventajas y desventajas
- Patrón Composite
- Clases internas
Reflexión (Reflection)
- La clase llamada Class
- Búsqueda de campos, métodos y constructores
- Acceso a campos e invocación de métodos
- Examen de arrays
Anotaciones
- Anotaciones en la API de Java (@Override, @Deprecated)
- Definición de anotaciones
Programación funcional
- Descripción general de las expresiones lambda
- Expresiones lambda e interfaces funcionales
- Uso de expresiones lambda
- Trabajo con referencias a métodos
La API Stream
- Streams y colecciones
- Filtrado de colecciones
- Cadena y encadenamiento de operaciones (pipelining)
API de fecha y hora
- APIs heredadas (Legacy)
- La API de fecha y hora (JSR 310)
- Eventos basados en fechas y en horas
- Marcas de tiempo, periodos y duraciones
- Realización de cálculos
- Formateo
- Localización y zonas horarias
Conceptos básicos de JUnit
- Descripción general de JUnit y desarrollo guiado por pruebas (TDD)
- Pruebas y afirmaciones (assertions)
- Manejo de excepciones
- Organización de pruebas con JUnit
- Escritura de fixtures: @Before y @After
- Grupos de pruebas y otras capacidades
- Descripción general de los objetos mock
Herramientas de construcción (Build Tools)
- Descripción general de Ant
- Descripción general de Maven
Clases abstractas
- Principios de declaración e implementación de clases abstractas
- Problemas típicos al trabajar con clases abstractas
El papel de las clases, clases abstractas e interfaces en el modelo de aplicación
- Niveles de abstracción orientada a objetos en Java
- El modelo completo de objetos en Java
- Modelo de programa orientado a interfaces y clases abstractas, que ofrece mayor flexibilidad y autonomía entre los subsistemas de una aplicación en su implementación
- Uso de clases abstractas para extraer funcionalidades comunes, complementado con la flexibilidad que ofrecen las interfaces
El papel de los objetos estáticos y dinámicos en el modelo de aplicación
- Clases estáticas en Java y sus propiedades dinámicas
- Distinción en la funcionalidad de ambos tipos de entidades dentro de Java, sus usos típicos y ejemplos de buenas prácticas en el diseño de soluciones basadas en objetos estáticos y dinámicos en Java
- Introducción a los patrones de diseño
- Introducción al patrón de diseño Factory
Operaciones con tipos primitivos y clases envolventes (Wrapper)
- Hechos y técnicas esenciales para ampliar el uso de tipos primitivos en el modelo de objetos de Java.
- Análisis del papel de las clases envolventes de tipos primitivos y sus aplicaciones típicas en la aplicación
Objetos especiales en Java: las clases String, StringBuilder y StringBuffer
- Recordatorio de las propiedades básicas de la clase String y discusión sobre el tratamiento de los objetos String por parte de la máquina virtual
- Uso de las clases de buffer y operaciones sobre cadenas
Formateo y análisis (parsing), expresiones regulares
- Introducción a las expresiones regulares en Java
- Discusión de técnicas básicas para el manejo de expresiones regulares (clase String), así como técnicas avanzadas basadas en clases dedicadas para este tipo de construcciones
- Tokenización, búsqueda y coincidencia de patrones para tipos de cadena
Requerimientos
-
Conocimientos sobre el lenguaje Java y la programación orientada a objetos (POO). Los participantes deben dominar los paquetes, los flujos de control y los bucles, así como las clases concretas básicas y las interfaces fundamentales.
Testimonios (4)
La paciencia con la que atendía las dudas que surgían
Carlos Ceballos - Banco de Mexico
Curso - Spring Boot, React, and Redux
Excelente la tematica, los casos de uso y ejemplos para visualizar el material entregado
Gionathan Rodriguez - CENTRO NETEC SPA
Curso - Building Microservices with Spring Boot, Docker, and Kubernetes
Que obtuvimos una visión general compleja también sobre el contexto, por ejemplo, por qué necesitamos algunas anotaciones y qué significan. Me gustó la parte práctica del entrenamiento - tener que ejecutar manualmente los comandos y llamar a las API REST.
Alina - ACCENTURE SERVICES S.R.L
Curso - Quarkus for Developers
Traducción Automática
interacción a través de ejercicios y también compartiendo proyectos
Claudiu - MSG system
Curso - Advanced Spring Boot
Traducción Automática