Entities

Entities

En el mundo del desarrollo de software, especialmente en la programación orientada a objetos, las entidades ocupan un lugar central. Representan objetos con identidad única, distinguiéndose de los Value Objects (tema que envié la semana pasada) que se definen por sus atributos y no por una identidad única.

En este artículo, exploraremos cómo podemos implementar y utilizar entidades (en este caso los ejemplos son en Dart y Flutter) para construir aplicaciones robustas y bien organizadas.

¿Qué es una Entidad?

Una entidad es un objeto que tiene una identidad persistente a través del tiempo. Esta identidad es lo que permite distinguir una entidad de otra, incluso si sus atributos son idénticos.

Consideremos un sistema de gestión de usuarios donde cada usuario se considera una entidad. Aquí está cómo podríamos modelar una clase User en pseudocódigo:

Ver Pseudocódigo de la Clase Usuario

Ver ejemplo en dart

Inmutabilidad y el Método copyWith

Otra práctica común y beneficiosa es hacer que las entidades sean inmutables. En este enfoque, en lugar de modificar directamente los atributos de un objeto, se crea una nueva instancia del objeto con los valores actualizados utilizando un método copyWith. Esto se conoce como “objeto inmutable”.

Beneficios de la Inmutabilidad

Seguridad de Concurrency: Los objetos inmutables son naturalmente seguros para usar en entornos concurrentes porque no hay riesgo de que múltiples hilos modifiquen el objeto simultáneamente.

Historial de Cambios: Cada cambio resulta en un nuevo objeto, lo que puede ayudar a mantener un historial claro de cómo cambió el estado a lo largo del tiempo.

Ver Ejemplo de Entidad Inmutable con copyWith en Dart


Inicia sesión para ver o añadir un comentario.

Otros usuarios han visto

Ver temas