[MAD-050] Programación Funcional

[MAD-050] Programación Funcional

Este curso introduce fundamentos, compara paradigmas, y profundiza en lambdas, funciones puras, streams, referencias de métodos y Optional. Incluye refactorización asistida por IA, mostrando cómo aplicar estos conceptos para escribir código más limpio, seguro y mantenible en proyectos reales.

Duración:                     16 horas

Perfil:                           Básico

Dirigido a

Esta acción formativa está destinada a Programadores y Analistas necesiten entender todas posibilidades que ofrece un lenguaje de programación funcional.

Requisitos previos 

Los alumnos necesitarán tener experiencia y conocimientos consolidados en Java.

Objetivos

  • Dominar los conceptos del lenguaje y los conceptos básicos de programación funcional.

  • Uso de la IA como herramienta de soporte para la refactorización del código.

image-20260211-164542.png





Contenido

  1. Introducción a la Programación Funcional

1.1.   ¿Qué es la programación funcional?

1.2.   Paradigmas de programación: funcional vs imperativa

1.3.   Beneficios de la programación funcional

  1. Conceptos Clave de Programación Funcional

2.1.   Inmutabilidad y efectos secundarios

2.2.   Funciones puras

2.3.   Composición de funciones en Java

  1. Fundamentos de la Programación Funcional en Java

3.1.   Características funcionales en Java desde la versión 8

3.2.   Expresiones Lambda

3.3.   Interfaces funcionales en Java

  1. Uso de Streams en Java

4.1.   ¿Qué son los Streams?

4.2.   Operaciones intermedias

4.3.   Operaciones terminales

4.4.   Creación de Streams a partir de colecciones, arrays y valores

  1. Referencias de Métodos

5.1.   Tipos de referencias de métodos

5.2.   Usos comunes de referencias de métodos

  1. Manejo de Opcionales (Optional)

6.1.   ¿Qué es un Optional?

6.2.   Creación de objetos Optional

6.3.   Métodos principales de Optional

  1. Refactorización de código asistida por IA IA

7.1.   Idoneidad del código funcional para una IA

7.2.   Flujo de trabajo

7.3.   Casos de uso

7.4.   Herramientas

 



Documentación Recomendada

Learning Java Functional Programming

Richard M Reese

Oct 2015 | 296 pages

image-20260211-164510.png