Value object
コンピュータサイエンスでは、Value Object（値オブジェクト）は、同等性がアイデンティティに基づいていない"単純な"エンティティを表す小さなオブジェクトである。つまり、2つの値オブジェクトは、同じ"値"を"持つ"場合は"等しく"、必ずしもそれらが同一の"オブジェクト"である必要はない。
値オブジェクトの例としては、金額や日付範囲を表すオブジェクトなどが挙げられる。
小さいので、同じ"エンティティ"を表す同じ値オブジェクトの複数のコピーを持つことが可能である。単一のインスタンスに依存してそのオブジェクトを共有するよりも、新しいオブジェクトを作成する方が簡単な場合がよくある。
値オブジェクトは不変である事が好ましい：これは、2つの値オブジェクトが"等しく作成され、等しい"ままであるという暗黙の前提に必要となる。クライアントコードが値オブジェクトを無効な状態にしたり、インスタンス化の後にバグのある挙動を導入したりできないようにする点でも有用である。
値オブジェクトは、DDDの構成要素の1つでもある。