Kush's Wiki

エリック・エヴァンスのドメイン駆動設計

commited date: 2025-03-24

Authors:

Eric Evans, 和智右桂

#ドメイン駆動設計 #Book #Software Design

翔泳社

第1部 ドメインモデルを機能させる

第1章 知識をかみ砕く

第2章 コミュニケーションと言語の使い方

第3章 モデルと実装を結びつける

  • モデル駆動設計(MODEL-DRIVEN DESIGN)

第2部 モデル駆動設計の構成要素

第4章 ドメインを隔離する

  • レイヤ化アーキテクチャ(LAYERED ARCHITECTURE)
  • 利口なUI「アンチパターン」(SMART UI メANTI-PATTERNモ)

第5章 ソフトウェアで表現されたモデル

  • エンティティ(ENTITIES)(別名 参照オブジェクト(REFERENCE OBJECTS))
  • 値オブジェクト(VALUE OBJECTS)
  • サービス(SERVICES)
  • モジュール(MODULES)(別名 パッケージ(PACKAGES))

第6章 ドメインオブジェクトのライフサイクル

  • 集約(AGGREGATES)
  • ファクトリ(FACTORIES)
  • リポジトリ(REPOSITORIES)

第7章 言語を使用する:応用例

第3部 より深い洞察へ向かうリファクタリング

第8章 ブレイクスルー

第9章 暗黙的な概念を明示的にする

  • 仕様(SPECIFICATION)

第10章 しなやかな設計

  • 意図の明白なインタフェース(INTENTION-REVEALING INTERFACES)
  • 副作用のない関数(SIDE-EFFECT-FREE-FUNCTIONS)
  • 表明(ASSERTIONS)
  • 概念の輪郭(CONCEPTUAL CONTOURS)
  • 独立したクラス(STANDALONE CLASSES)
  • 閉じた操作(CLOSURE OF OPERATIONS)

第11章 アナリシスパターンを適用する

第12章 デザインパターンをモデルに関係づける

  • ストラテジー(STRATEGY)(別名 ポリシー(POLICY))
  • コンポジット(COMPOSITE)

第13章 より深い洞察へ向かうリファクタリング

第4部 戦略的設計

第14章 モデルの整合性を維持する

  • 境界づけられたコンテキスト(BOUNDED CONTEXT)
  • 継続的な統合(CONTINUOUS INTEGRATION)
  • コンテキストマップ(CONTEXT MAP)
  • 共有カーネル(SHARED KARNEL)
  • 顧客/供給者の開発チーム(CUSTOMER/SUPPLIER DEVELOPMENT TEAMS)
  • 順応者(CONFORMIST)
  • 腐敗防止層(ANTICORRUPTION LAYER)
  • 別々の道(SEPARATE WAYS)
  • 公開ホストサービス(OPEN HOST SERVICE)
  • 公表された言語(PUBLISHED LANGUAGE)

第15章 蒸留

  • コアドメイン(CORE DOMAIN)
  • 汎用サブドメイン(GENERIC SUBDOMAINS)
  • ドメインビジョン声明文(DOMAIN VISION STATEMENT)
  • 強調されたコア(HIGHLIGHTED CORE)
  • 凝集されたメカニズム(COHESIVE MECHANISMS)
  • 隔離されたコア(SEGREGATED CORE)
  • 抽象化されたコア(ABSTRACT CORE)

第16章 大規模な構造

  • 進化する秩序(EVOLVING ORDER)
  • システムのメタファ(SYSTEM METAPHOR)
  • 責務のレイヤ(RESPONSIBILITY LAYERS)
  • 知識レベル(KNOWLEDGE LEVEL)
  • 着脱可能コンポーネントのフレームワーク(PLUGGABLE COMPONENT FRAMEWORK)

第17章 戦略をまとめ上げる