/note/tech

関数型言語で DDD

関数型言語で DDD - Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# - Shin x Blog

  • 共有モデルを作るガイドライン。
    • データ構造ではなく、ビジネスイベントやワークフローに注目する。
    • 問題領域では、ドメインを小さなサブドメインに分割する。
    • 解決領域では、サブドメイン毎にモデルを作る。
    • プロジェクトに関わる全ての人で共有され、コードでも利用される共通の言語(ユビキタス言語)を作る。
  • 問題を理解することは、安易に解決策を作ることではない。
  • まず、ビジネスイベントに注目する。
  • persistence ignorance*1
  • make illegal states unrepresentable