Hola!, bueno en realidad la función de los Registros en Java, tiene un fondo más trasendental y es la Programación Orientada a Datos, lo que representa el principio de inmutabilidad, recordemos que Java ahora puede manejar tres paradigmas de programación, el Orientado a Objetos, el Funcional (JDK8+) , y el Orientado a Datos (JDK14+). Para objetos mutables siempre será mejor implementarlos a través de clases con sus debidos controles de acceso, e incluso, esto abre la puerta a todos los nuevos cambios que vienen en el lenguaje, como las clases selladas. Saludos estimado @makigas
Sí, hace poco el canal oficial de Java subió un vídeo que cuenta más sobre esto: ruclips.net/video/UQAw3pvZPCY/видео.html Voy a fijar este comentario por si aun así tras el vídeo alguien sigue teniendo preguntas y hace scroll. Por ejemplo, uno de los casos más interesantes en este respecto es que hoy en día es muy habitual consultar datos de una fuente de datos externa como una API REST. En este caso, los records vienen bien para hacer un mapping entre un JSON descargado vía HTTP y un objeto que haga de DTO para poder acceder a las propiedades de ese JSON de una manera más segura y tipada que un Map como harían algunas bibliotecas chapuceras en otros tiempos.
¡Buenas! Con este vídeo cierro el arco de los records en Java, una de las características más interesantes metidas en los últimos años en el lenguaje de programación. Si alguien se lo está preguntando: sí, esto se parece a lo que la anotación "With" de Lombok puede hacer. Lombok es un tema que está en la lista de pendientes de mi itinerario renovado de Java así que pronto será tratado también.
Hola, vi la serie de videos de Records y es interesante de verdad, en este video muestras un buen truco, a lo mejor para muchos algunos es tontería pero en un caso donde se este usando muchas lineas de código con un Record con muchos campos en lugar de estar creando un record de nuevo con los mismos campos mejor le genero un setter y solo modifico lo que quiero. Deberías considerar hacer otro video usando el constructor compacto record Persona(String nombre, String apellido, int edad) { //contructor compacto public Persona { System.out.println("Constructor sin parametros"); } } Creo que es interesante, un constructor que no recibe parámetros, ni asigna de forma manual cada valor a cada campo (y sin embargo, se hace por detrás) y se puede hacer validaciones. Buenos videos en tu canal!!!
Para ese caso no tiene mucho sentido. Los records sólo son apropiados para hacer objetos donde sólo transportamos datos, aunque también tienen uso para hacer pattern matching con el nuevo operador switch que hay en versiones recientes de Java.
que costoso, crea nuevas instancias y reemplazas la anterior, no escala. tienes razon que está hecho para almacenar y transformar datos, me quedo con mi @Getter @Setter o @Data de Lombok. helsing2030 quack quack
Hola!, bueno en realidad la función de los Registros en Java, tiene un fondo más trasendental y es la Programación Orientada a Datos, lo que representa el principio de inmutabilidad, recordemos que Java ahora puede manejar tres paradigmas de programación, el Orientado a Objetos, el Funcional (JDK8+) , y el Orientado a Datos (JDK14+).
Para objetos mutables siempre será mejor implementarlos a través de clases con sus debidos controles de acceso, e incluso, esto abre la puerta a todos los nuevos cambios que vienen en el lenguaje, como las clases selladas.
Saludos estimado @makigas
Sí, hace poco el canal oficial de Java subió un vídeo que cuenta más sobre esto: ruclips.net/video/UQAw3pvZPCY/видео.html
Voy a fijar este comentario por si aun así tras el vídeo alguien sigue teniendo preguntas y hace scroll. Por ejemplo, uno de los casos más interesantes en este respecto es que hoy en día es muy habitual consultar datos de una fuente de datos externa como una API REST. En este caso, los records vienen bien para hacer un mapping entre un JSON descargado vía HTTP y un objeto que haga de DTO para poder acceder a las propiedades de ese JSON de una manera más segura y tipada que un Map como harían algunas bibliotecas chapuceras en otros tiempos.
Muchas gracias por la información y explicación.
¡Buenas! Con este vídeo cierro el arco de los records en Java, una de las características más interesantes metidas en los últimos años en el lenguaje de programación. Si alguien se lo está preguntando: sí, esto se parece a lo que la anotación "With" de Lombok puede hacer. Lombok es un tema que está en la lista de pendientes de mi itinerario renovado de Java así que pronto será tratado también.
Hola, vi la serie de videos de Records y es interesante de verdad, en este video muestras un buen truco, a lo mejor para muchos algunos es tontería pero en un caso donde se este usando muchas lineas de código con un Record con muchos campos en lugar de estar creando un record de nuevo con los mismos campos mejor le genero un setter y solo modifico lo que quiero.
Deberías considerar hacer otro video usando el constructor compacto
record Persona(String nombre, String apellido, int edad) {
//contructor compacto
public Persona {
System.out.println("Constructor sin parametros");
}
}
Creo que es interesante, un constructor que no recibe parámetros, ni asigna de forma manual cada valor a cada campo (y sin embargo, se hace por detrás) y se puede hacer validaciones.
Buenos videos en tu canal!!!
Similar a los DTO ?
Estás usando Lucida Console? Se ve muy bien en IntelliJ 🤔
Si, es Lucida Console, pero es NetBeans, no IDEA (aunque si se confunden es que el tema ha quedado bien para que se le parezca 🤭)
@@makigas jejeje pues funcionó, me confundiste jajajaja🤣
En este video ruclips.net/video/Kr3W0oGnelA/видео.html en el min 43:20 se explica una mejor manera de crear records
Like para ti y para Alejandro Tellez 😉😋
🥝
Polejava
Y si se quieren tener setters, que ventajas tiene frente a clases de toda la vida? No le veo mucho sentido, no?
Para ese caso no tiene mucho sentido. Los records sólo son apropiados para hacer objetos donde sólo transportamos datos, aunque también tienen uso para hacer pattern matching con el nuevo operador switch que hay en versiones recientes de Java.
que costoso, crea nuevas instancias y reemplazas la anterior, no escala. tienes razon que está hecho para almacenar y transformar datos, me quedo con mi @Getter @Setter o @Data de Lombok. helsing2030 quack quack
Pero el recolector de basura se lo va a comer igualmente, da igual.
@@makigas Si dices que el recolector de basura se lo come igualmente, el tema del coste no pasa a ser tan importante?