UIXHERO
#015
UI設計パターン
#015

あたいおぶじぇくと

値オブジェクト (Value Object)

別名・表記:Value ObjectVO

UIXHERO Definition

「値そのもの」。中身が同じなら同じものとして扱うデータ(例:色、日付、金額)。

概要

エンティティと対になる概念。 値オブジェクトは「交換可能」である。例えば、古い「100円」オブジェクトの中身を書き換えるのではなく、新しい「100円」オブジェクトを作って置き換える(イミュータブル)。 これにより、意図しないデータの変更(副作用)を防ぎ、バグを減らすことができる。

UXでの活用

  • デザインシステム: 色(Color)、タイポグラフィ(Typography)、スペーシング(Spacing)などは、まさに値オブジェクトとして定義されるべきものである(Design Tokens)。
  • 入力フォームのバリデーション: 「メールアドレス」を単なる文字列ではなく「Email」という値オブジェクトとして扱うことで、形式チェックのロジックを一箇所に集約できる。

💡 使いどころ

住所、金額、色、電話番号など、個体を識別する必要がない概念をモデリングする時。不変(Immutable)にすることで、副作用のない安全なコードが書ける。

⚠️ 注意点・誤用

何でもかんでも値オブジェクトにするとパフォーマンスに影響が出ることがある。更新頻度が高く、履歴管理が必要なものはエンティティにするべき。

具体例

  • 「100円」という金額(どの硬貨かは関係ない)
  • 「#FF0000」という色(どこに使われていても同じ赤)
  • 座標 (x: 10, y: 20)

関連する解説記事

関連する記事詳細が見つかりませんでした。

作成: 2026年2月12日
更新: 2026年2月14日

読んだ内容を、自分の画面に当てるとき

UIXHEROは、記事を書くほかに、画面の検品・判定、デザインシステムの構築、実装と改善の伴走を受けています。何を頼めばいいか決まっていない段階の相談も、同じ窓口で受けます。

UIXHEROに頼めることを見る

※ 記事の内容についての質問や、書いてほしいテーマの要望も同じ窓口で受けています

この記事をシェアする
シェア: