UIXHERO
#205
心理学・認知バイアス
#205

どめいんくどうせっけい

ドメイン駆動設計 (DDD)

別名・表記:Domain Driven DesignDDD

UIXHERO Definition

「業務知識をコードにする」。ビジネスの言葉とロジックをそのままプログラムで表現する設計思想。

概要

システムの「複雑さ」に立ち向かうためのアプローチ。 技術的な実装の詳細(DBの種類やフレームワークなど)よりも、解決したいビジネス上の問題(ドメイン)を中心に据えて設計を行う。 「軽量DDD」と批判されることもあるが、そのエッセンス(ユビキタス言語や境界付けられたコンテキスト)を取り入れるだけでも効果がある。

UXでの活用

  • コンテキストの理解: ユーザーが置かれている状況(境界付けられたコンテキスト)を理解し、その文脈に合った用語や操作フローを設計する。
  • メンタルモデルの反映: ドメインモデルは、ユーザーのメンタルモデルを色濃く反映したものになるべきである。モデルとUIが乖離していると、使いにくいシステムになる。

💡 使いどころ

業務ロジックが複雑なシステム開発において。単純なCRUDアプリ(データの読み書きだけ)にはオーバーエンジニアリングになることが多い。

⚠️ 注意点・誤用

学習コストが高い。また、ドメインエキスパート(業務の専門家)との密な連携が必須であり、エンジニアだけで完結することはできない。

具体例

  • 「ユーザー」ではなく「会員」と「ゲスト」という別のクラス(概念)としてモデリングする
  • 「口座残高を減らす」ではなく「出金する」というメソッドを作る
出典・参考文献:
  • Evans, E. (2003). Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley.

関連する解説記事

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

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

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

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

UIXHEROに頼めることを見る

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

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