Value Objects can simplify the design of your system and
improve its performance. By eliminating the need to track the state or to
persist such objects, they can be more easily used within the design. It's
also important to use value objects where immutability is important, in order
to avoid corruption of older data as referenced entities change over time.
You can follow me on my
blog at SteveSmithBlog.com and on Twitter at twitter.com/ardalis. You can download the
(very small) sample code for this article.