An immutable class whose identity is dependent on the combination of its values.
- Value objects measure, quantify or describe a thing in the domain.
- They are used as a property of an entity.
- Identity is based on the composition of values.
- Value objects are immutable and therefore should not have side effects.
- Compared using all values
- No side effects
Recognizing Commonly Used Value Objects
Currency at a point in time is a great value object.
Company worth: $US 50,000,000 on 2023-03-07 17:00:00
With this classic design it is possible to change the
Worth Unit without changing to
Worth Amount. Therefore significantly changing the worth of the company.
To fix this issue we use value objects.
Amount have been exported into a