Funciones de Orden Superior en Programación
Clase 6 de 39 • Curso de Programación Funcional con Java SE
Contenido del curso
- 2

Funciones en Programación Funcional: Conceptos Básicos
03:15 - 3

Funciones como Ciudadanos de Primera Clase en Programación
02:39 - 4

Funciones Puras: Concepto y Ejemplos Prácticos
04:05 - 5

Efectos Secundarios en Programación y su Impacto en el Código
03:12 - 6

Funciones de Orden Superior en Programación
02:28 - 7

Funciones Lambda en Programación Funcional Java
03:30 - 8

Inmutabilidad de Datos en Programación Funcional con Java
11:16
- 9
Programación Funcional en Java SE: Conceptos y Prácticas
00:06 - 10

Programación Funcional en Java: Práctica y Ejemplos en IntelliJ
02:48 - 11

Programación Funcional en Java: Creación y Uso de Funciones
04:03 - 12

Programación Funcional con Predicados en Java
04:57 - 13

Interfaz Consumer y Supplier en Java: Uso y Ejemplos Prácticos
03:54 - 14

Funciones Java para Transformación de Datos y Operaciones Binarias
07:10 - 15

Creación y Uso de Interfaces Funcionales Personalizadas en Java
08:51 - 16

Métodos de Referencia en Programación Funcional Java
04:46 - 17

Inferencia de tipos en Java: funciones y métodos
03:53 - 18

Uso de Expresiones Lambda en Java: Sintaxis y Aplicaciones
12:47 - 19

Interfaz Funcional en Java: Creación y Uso de Métodos Default
04:59 - 20

Encadenamiento de Llamadas en Programación Orientada a Objetos
03:52 - 21

Composición de Funciones en Programación Funcional
06:06
- 22

Uso de la Clase Optional en Java para Manejo de Valores Nulos
12:59 - 23

Manipulación de Streams en Java: Operaciones y Limitaciones
10:18 - 24

Programación Funcional en Java: Uso de Streams y Operaciones Terminales
07:21 - 25
Operaciones de Stream en Java: Intermedias y Finales
05:05 - 26

Operaciones y Concurrente con Stream en Java
05:51 - 27
Operaciones Terminales en Java Streams
06:18 - 28
Operaciones Intermedias en Streams de Java
09:21 - 29

Conversión de Strings a Listas de Enteros en Java
06:14
- 30

Construcción de Proyecto para Buscar Empleo Usando APIs
01:17 - 31

Configuración y Uso de Gradle en Proyectos Java con IntelliJ
03:23 - 32

Creación de una Herramienta de Búsqueda de Trabajo en Terminal
01:51 - 33

Creación de Puntos de Entrada y Dependencias en Proyectos Java
05:54 - 34

Creación de APIs RESTful con Feign y Spring Boot
09:31 - 35

Creación de una Interfaz de Línea de Comandos con JCommander
13:05 - 36

Validación de Argumentos en Terminal con Clases en Ciel
04:32 - 37

Procesamiento de Argumentos y Solicitudes API en Java
11:38 - 38

Creación de API para búsqueda de empleos con Java y CLI
08:31
¿Qué es una función de orden mayor?
En el mundo de la programación funcional, las funciones juegan un papel muy importante. No solo son ciudadanos de primera clase, sino que también existen funciones de orden mayor que enriquecen aún más nuestras opciones de codificación. Pero, ¿qué características definen a una función de orden mayor? En términos sencillos, una función de orden mayor cumple con una de las siguientes características:
- Toma una o más funciones como parámetros.
- Retorna una función como resultado de su ejecución.
Estas capacidades permiten crear código más modular y reutilizable, optimizando así el flujo de trabajo del desarrollador y potenciando el uso eficiente de recursos.
¿Cuáles son ejemplos de funciones de orden mayor?
Las funciones de orden mayor se pueden observar en diversos ejemplos prácticos en el ámbito de la programación. Consideremos estos dos casos:
Ejemplo 1: Función que toma otra función como parámetro
Imagina que tienes una función foo que toma otra función llamada funcionPara y la utiliza para generar un valor entero, como salarios, por ejemplo. Aquí, funcionPara determina la lógica que foo luego sigue para procesar la información y obtener resultados.
def foo(funcion_para, datos):
return funcion_para(datos)
Ejemplo 2: Función que retorna otra función
Ahora, considera una función bar que no solo toma parámetros, sino que también genera una nueva función como resultado. Un uso típico podría ser la creación dinámica de funciones de acceso a bases de datos:
def bar(parametro):
def nueva_funcion(datos):
# lógica de procesamiento
return resultado
return nueva_funcion
Este tipo de funciones son esenciales cuando se trata de diseñar software que requiere adaptarse a las condiciones en tiempo real, como gestión de accesos basados en atributos que pueden cambiar frecuentemente.
¿Cuáles son las ventajas de usar funciones de orden mayor?
Las funciones de orden mayor ofrecen un arsenal de beneficios:
-
Pasar Comportamientos: Puedes pasar funciones como mecanismos de filtrado para bases de datos o para la validación de datos como contraseñas. Esto te permite reutilizar lógica compleja a través de diferentes partes de tu aplicación.
-
Medios de Comunicación: Facilitan la comunicación entre diferentes componentes de un sistema. Por ejemplo, al procesar datos entrantes de manera asíncrona, puedes utilizar funciones para manejar los datos recibidos.
-
Compartir Lógica: Las funciones de orden mayor centralizan la lógica común, permitiendo compartir reglas lógicas o transformaciones entre diferentes invocaciones. Esto simplifica el mantenimiento del código, ya que cualquier cambio en la lógica base se aplica a todas las invocaciones relacionadas.
En resumen, al dominar el uso de funciones de orden mayor, los desarrolladores pueden escribir código más eficiente, modular y fácil de mantener. Adéntrate en el mundo de la programación funcional y descubre cómo estas herramientas pueden transformar tu manera de abordar las soluciones tecnológicas. ¡Sigue explorando y expandiendo tus habilidades en programación!