Laravel Value Objects

Contenido del curso
Introducción keyboard_arrow_down
timer

Desbloquea el curso

Contrata un plan y consigue acceso completo

Crea tu cuenta

¿Ya tienes una cuenta? Inicia sesión

¿Qué aprenderás?

Los Value Objects son objetos generados a partir de un valor, sea un string, un número, un booleano etcétera. La meta de los Value Objects es conseguir una representación de los datos más completa y compleja que nos permita cubrir los requisitos de nuestros clientes.

Los beneficios de los Value Objects son muchos, alta cohesión, bajo acoplamiento, inmutabilidad y fácil de testear.


Si nos ponemos técnicos, lo que debemos saber de los Value Objects es lo siguiente:

Un Value Object es un concepto utilizado en el diseño de software, especialmente en el contexto de la programación orientada a objetos. Se refiere a un tipo de objeto que representa un valor único e inmutable, cuya identidad está determinada únicamente por los valores que contiene, en lugar de tener una identidad propia en el sistema.

Los Value Objects son diferentes de las Entidades (Entities) en el diseño de dominio. Las Entidades tienen una identidad única y están definidas por su identificador, mientras que los Value Objects carecen de identidad propia y son comparados solo por el contenido de sus atributos.

Características de un Value Object:

  1. Inmutabilidad: Un Value Object no puede cambiar sus valores después de haber sido creado. Si es necesario modificarlo, se crea una nueva instancia con los nuevos valores.

  2. Comparación basada en sus atributos: La igualdad de dos Value Objects se establece por el valor de sus atributos y no por una identidad única.

  3. Sin ciclo de vida: Los Value Objects generalmente no tienen un ciclo de vida propio. Su existencia está ligada al objeto al que pertenecen.

  4. Ligeros: Los Value Objects suelen ser objetos livianos y con bajo acoplamiento, diseñados para representar valores específicos.

Ejemplos de Value Objects podrían ser:

  • Una fecha: representada por día, mes y año.

  • Una dirección: representada por calle, ciudad, código postal, etc.

  • Un color: representado por sus componentes RGB.

  • Un precio: representado por céntimos, valor formateado, etc.

Los Value Objects son útiles cuando se desea encapsular un conjunto de valores relacionados y garantizar su inmutabilidad. También ayudan a mejorar la semántica del código y a evitar problemas relacionados con la modificación accidental de datos. Al usar Value Objects, se puede hacer que el código sea más expresivo y más fácil de entender, lo que a su vez facilita el mantenimiento y la evolución del software.


A lo largo de este curso estaremos desarrollando todo lo necesario nosotros mismos sin la necesidad de dependencias externas, la idea es aprender a desarrollar desde cero y de forma completa una jerarquía de Value Objects que nos permita añadir datos avanzados a nuestros modelos Eloquent.

Para ello, además de crear diferentes Value Objects, también aprenderemos a utilizarlos en los modelos Eloquent para castear las columnas de nuestra base de datos a tipos más complejos.

Si quieres saber más acerca de los Value Objects en Laravel, no te pierdas el vídeo introductorio, y si te gusta, suscríbete a la plataforma. ¡Te espero dentro!

Requisitos

Es necesario tener conocimientos de Laravel, este curso te puede ayudar a entender cómo funciona. Lo mejor sin duda es llevar a cabo la ruta de Laravel 9 paso a paso.

¿A quién va dirigido el curso?

Desarrolladores Laravel que deseen seguir mejorando y añadiendo nuevas características a sus proyectos.

¿Qué hacer en caso de dudas durante el curso?

Si estás suscrito al plan Trimestral o Anual cuentas con soporte completo en menos de 24 horas dentro de días laborables. 

Cursos relacionados

Acerca del autor

Desarrollador con 10 años de experiencia en web y móvil y formador con 7 años de experiencia.
Empecé en el mundo de la programación a raíz de un accidente de trabajo y me tuve que reinventar.
Soy autodidacta, me dedico de forma profesional a desarrollar software y cada día aprendo cosas nuevas.
Apasionado del backend, me encanta todo lo que tiene que ver con procesos y lógica.
Me encanta programar, pero todavía más ayudar a otras personas en su proceso de formación.

Cursosdesarrolloweb

Israel Parra

Php, JavaScript, Laravel, Vue, React, React Native, Svelte, Serverless

Valoraciones
5
star star star star star

1 valoraciones

star star star star star
star star star star star_border
star star star star_border star_border
star star star_border star_border star_border
star star_border star_border star_border star_border
Alexis Montilla

hace 9 meses

Alexis Montilla - Excelente, de los mejores cursos de la plataforma
star star star star star

Esta es la receta! Brutal cursos puntutales que ataquen conceptos fundamentales y no generales que aborden demasiados conceptos-q no esta mal Talvez agregar un par de casos donde se puedan usar los VO

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Formulario de contacto

Copyright 2024 © Todos los derechos reservados.

Contacto