Domain-Driven Design

このページは作成(さくせい) (ちゅう) です。

Overview

ドメイン駆動(くどう) 設計(せっけい) (DDD)は、ドメインのプロセスとルールを(ふか)理解(りかい) したドメインモデルのプログラミングを中心(ちゅうしん)() えたソフトウェア開発(かいはつ) アプローチです。

Key Concepts

  • Bounded Context - 特定(とくてい) のモデルが定義(ていぎ) され適用(てきよう) される境界(きょうかい)
  • Ubiquitous Language - すべてのチームメンバーが使用(しよう) する共通(きょうつう) 言語(げんご)
  • Aggregates - 単一(たんいつ) のユニットとして(あつか) われるドメインオブジェクトのクラスタ
  • Entities - 明確(めいかく) なアイデンティティを() つオブジェクト
  • Value Objects - 属性(ぞくせい) によって定義(ていぎ) されるオブジェクト
  • Domain Events - ドメインで発生(はっせい) した(なに)

Related Architectures

  • Hexagonal Architecture (Ports and Adapters)
  • Clean Architecture
  • Onion Architecture