Properties
-
understandable code by minimizing moving parts - Its easier to reason about it when there are less moving parts because there are less things to break and less possible program states.
-
Idempotence - asking the question shouldnt change the answer
-
multithread safety
Immutable value
Define a value object type whose instances are immutable. The internal state of a value object is set at construction and no subsequent modifications are allowed
Immutable value