Cuando llamo al then
devuelve una nueva promesa
Patron value object, dos objetos que son el mismo tipo pero que varian en el contenido […]
Si tenemos que modificar variables de estado del objeto esto no es un value
object, cuando esto ocurre devolvemos un objeto nuevo. Esto son objetos
inmutables como ejemplos tenemos los strigns
En un value object
un objeto es igual a otro si ambos tienen el mismo
contenido.
Entidades y valores […] exponer cuanto menos posible tener los menos
getter
posibles, acciones en su lugar.
Los valores no mutan su valor por convencion y las entidades son mutables.
Las promises
son value object
el resultado de las operaciones con ellas
tendremos que guardarlo en una nueva variable o se quedara en el limbo.
En cambio los objetos del DOM cuando los seleccionamos con getElementById()
son mutables y el estado de estos y sus valores pueden ser modificados a lo
largo del tiempo.
Arquitectura hexagonal puertos y adaptadores
Existen objetos que son solamente para transporte de datos, objetos JSON que luego serializamos para enviarlos como por ejemplo entre un cliente y un servidor.
ORM, herramienta con la capacidad de convertirte filas de una tabla BDD a un objeto. Estos objetos son buenos para persistencia pero para la parte de la l贸gica es muy peligroso, porque al no tener encapsulaci贸n y todo ser visible y accesible siempre genera dependencias m谩s de las debidas.
anemic-domain-model-martin-fowler
Los modelos de la aplicaci贸n no deben basarse en lo que usemos por ejemplo si nos basamos en React.js o Firebase nuestra aplicaci贸n no debe saberlo no debe de tener esas dependencias. Dise帽as como si quisieras cambiar todo en alg煤n momento, aunque ese no es el objetivo el objetivo es cambiar peque帽as cosas si romper nada. Que la api sea lo m谩s independiente de la tecnolog铆a que se usa.
Para ello encapsulamos todo en un objeto propio con una api
c贸moda que
simplifique el uso de terceros y nos abstraiga de terceros. Se conoce como
wrapper
envoltorio, esto se puede hacer mucho m谩s f谩cil si usamos una
librer铆a en lugar de un framework
en el que te obliga a usar sus objetos
propios.
DTO, Data Transfer Object (supongo)
Notas
Un constructor no debe tener logica de negocio, debe de ser solo para las
asignaciones. Si tenemos que hacer alguna validacion mejor hacer un
object.create(...)
de manera que el usuario sepa que dentro de el existen
calculos o logicas que pueden fallar en el momento de la creacion.
Objetos anemicos que no tiene ligica dentro de ellos solo getters
y
setters
Anteriormente dise帽abas una base de datos con tablas y a partir de ellas se estructuraba el resto de la aplicaci贸n y esto era super fr谩gil. […]
Como buscarlo: value object opp
o value object pattern
This is about javaScript This is about object oriented programing