Un objeto de valor en realidad casi no es un objeto: es un valor * de * un objeto, por ejemplo, una persona (un objeto “real”) puede tener una fecha de nacimiento (un objeto de valor). Esta puede ser una instancia de una Fecha de clase, pero no hay un comportamiento real conectado a este objeto (en otras palabras: no tiene responsabilidades) excepto una interfaz de consulta de Fecha (como cuántos días entre la fecha de nacimiento y otra fecha).
Además: los objetos de valor no cambian, en otras palabras: son inmutables. Si un objeto necesita cambiar (debería ser la excepción), simplemente se intercambia con otro.
Dado que un objeto de valor es un miembro del objeto “real” (el que * tiene * responsabilidades en su dominio) generalmente está protegido: no expone directamente el objeto al mundo exterior. Esto implica que no crea un método de acceso ni lo convierte en una propiedad. La interfaz de Person podría tener algo como:
daysBetweenBirthDates: (Person *) anotherPerson
que, por supuesto, usa el Objeto de valor de fecha, pero no lo expone. Por supuesto, este también es un ejemplo de encapsulación.
Value Object también es un patrón en DDD (Diseño controlado por dominio).
¿Qué son los objetos de valor?
Related Content
La mayoría de la gente dice que Windows tiene fugas de seguridad. ¿Qué tan cierto es eso?
Esta respuesta está tomada de 1. ¿Qué son los objetos de valor? ¿Por qué necesitamos objetos de valor?
More Interesting
¿Dónde está la fruta de bajo perfil en Machine Learning?
Cómo formatear una tarjeta SD protegida contra escritura
¿Puedo portar mi número de teléfono móvil en línea?
¿Por qué CSE en IIT Bombay es la mejor opción sobre CSE en IIT Kanpur?
Cómo diferenciarme de los demás en mi carrera de CS
¿Cuáles son algunos buenos libros sobre aprendizaje automático y aprendizaje profundo?
¿Qué es un buen proyecto de aprendizaje automático que involucra interfaces cerebro-computadora?
¿Cuál es la mejor transmisión para ir en el presente, Mainframe o .Net?
¿Por qué son tan comunes los despidos masivos en empresas tecnológicas?
¿Cuál es el futuro de la informática estocástica y aproximada?