1. ホーム
  2. domain-driven-design

[解決済み】DDDの良い例はどこで見つかりますか?[クローズド]

2022-03-24 14:52:18

質問

ドメイン駆動設計について学んでいますが、実用的な問題で混乱しているところがあるので、良いサンプルを見ることで解決できると思います。

DDDの基本的な概念をうまくモデル化した、実用的なコードサンプルをご存知の方はいらっしゃいますか?

特に興味があるのは

  • ドメインモデルの例
  • リポジトリ
  • ドメイン/アプリケーションサービスの利用
  • バリューオブジェクト
  • 集計ルーツ

解き方は?

DDDのサンプルの難しさは、それがしばしば非常にドメインに特化したものであり、結果として得られるシステムの技術的実装が、DDDの本当の核心であるドメインのモデル化においてなされた設計上の決定や遷移を必ずしも示していないことです。DDDは、コードよりもプロセスの方が重要なのです。(最高のDDDのサンプルは本自体である、という人もいます!)

とはいえ、よくコメントされたサンプルアプリは、少なくともこれらの決定のいくつかを明らかにし、ドメインモデルとそれを実装するために使用する技術パターンを一致させるという点で、いくつかの方向性を与えてくれるはずです。

使っている言語が明記されていませんが、いくつかの言語で紹介します。

DDDSample - でEric Evansが話している例を反映したJavaのサンプルです。 著書 . これはよくコメントされており、分離された境界のあるコンテキスト(つまり、プレゼンテーション層)で様々な問題を解決するための多くの異なる方法を示しています。積極的に取り組んでいるので、定期的に更新をチェックしてください。

dddps - Tim McCarthy氏の著書『.NET Domain-Driven Design with C#』に掲載されたC#アプリのサンプル。

S#arpアーキテクチャ - 現実的なC#の例で、実際のドメイン問題がないためか、DDDアプローチほど純粋ではありませんが、それでも素晴らしいクリーンなアプローチです。

これらのサンプルアプリはすべて、定期的に更新されているはずなので、考え方や技術パターンを本当に理解するためには、SVN/whateverから最新のトランクバージョンをチェックするのがベストでしょう。