2. Introduction
❏ Value Characteristics
❏ Integrated with Minimalism
❏ Standard Types Expressed as Values
❏ Testing Value Objects
❏ Persisting Value Objects
3. Value Characteristics
❏ Measures, Quantifies, or Describes
❏ Immutable
❏ Conceptual Whole
❏ Replaceability
❏ Value Equality
❏ Side-Effect-Free Behavior
8. Integrated with Minimalism
❏ Where possible use Value Objects to model concepts in the
downstream Context when objects from the upstream Context flow in
11. Testing Value Objects
❏ Your model tests should have meaning to your domain experts
❏ The state of the Value Object was guaranteed immutable for every
12. Persisting Value Objects
❏ ORM and Single Value Objects
❏ ORM and Many Values Serialized into a Single Column
❏ ORM and Many Values Backed by a Database Entity
❏ ORM and Many Values Backed by a Join Table
❏ ORM and Enum-as-State Objects
13. ORM and Single Value Objects
❏ Store each of the attributes of the Value in separate columns of the
row where its parent Entity is stored
❏ Value attributes are denormalized into their parent Entity’s table row,
there is no need for the database to use joins to retrieve even a
deeply nested Value instance
14. ORM and Many Values Serialized into a Single Column
❏ Mapping a collection of many Value Objects into a relational
database using an ORM
❏ To serialize the entire collection of objects into a textual
representation and persist the representation into a single column
15. ORM and Many Values Backed by a Database Entity
❏ To treat the Value type as an entity in the data model
17. ORM and Many Values Backed by a Join Table
❏ To persist the collection Value elements to a dedicated table with the
parent Entity domain object’s database identity as a foreign key