DDDの良い例はどこにありますか?[閉まっている]


390

ドメインドリブンデザインについて学習していますが、いくつかの実用的な問題があり、いくつかの優れたサンプルを確認すると混乱する場合があります。

基本的なDDD概念のモデリングに優れた機能を果たすいくつかの優れたコードサンプルを知っている人はいますか?

特に興味がある

  • 例示的なドメインモデル
  • リポジトリ
  • ドメイン/アプリケーションサービスの使用
  • 値オブジェクト
  • 集合根

42
IHMOのような議論は大いに役立ちます。時には単純な質問以上のもの。たとえば、「DDDの良い例はどこにありますか?」という質問でこれを変更できます。Q&Aフォーマットで動作します。
Gizzmo 2014年

1
Vaughn Vernonの本からの「アジャイル管理プロジェクト」の例は非常に有益であることがわかりました。これは、列挙するビルディングブロックの実際の実装と、さまざまな境界コンテキストの処理を示しています。コードは、github.com
Mehdiにあります。

1
私はこの例をお勧めします:github.com/vkhorikov/DddInAction
ウラジミール

1
あなたはここで見ることができ:dzone.com/storage/assets/...
Chaklader Asfak Arefe

ここに1つ取得
クラークケント

回答:


199

DDDサンプルの難しさは、多くの場合、それらが非常にドメイン固有であり、結果として得られるシステムの技術的な実装が、ドメインのモデリングで行われた設計の決定と遷移を常に示すとは限らないことです。これは、実際にはDDDのコアです。DDDは、コードよりもプロセスの方がはるかに重要です。(一部の人が言うように、最高のDDDサンプルは本そのものです!)

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

使用している言語を指定していませんが、いくつかの異なる言語でいくつかご紹介します。

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

dddps -Tim McCarthyの著書、.NETドメイン駆動設計とC#のサンプルC#アプリ

S#arpアーキテクチャ -実際のドメイン問題がないためにDDDアプローチが「純粋」であるとは言えない実際的なC#の例ですが、それでも素晴らしいクリーンなアプローチです。

これらすべてのサンプルアプリでは、定期的に更新する必要があるので、SVN /その他の最新のトランクバージョンをチェックして、思考とテクノロジーのパターンについて本当に理解するのがおそらく最善です。


2
元の質問のコメントで@Mehdiについて言及したように、Vaughn Vernonのすばらしい例を追加する必要があります。これは、これまでに見たDDDパターンの最良の実装です:github.com/VaughnVernon/IDDD_Samples
Sylvain Lecoy 2017年

私はこれが古いことを知っていますが、の例はdddps完全に貧弱で、実際にはOOPに対抗しているようです。ドメインオブジェクトには動作がなく、サービスレイヤークラスは基本的にリポジトリに対する1:1の委任です。これをDDDの「良い」例と考える必要があるかどうかわかりません。私はまだ自分で学習していますが、S#arpアーキテクチャのサンプルは、状態と動作の両方を包含するDDDを学習する人にとってより良い例のようです。これは優れたOOP設計です。
デビッドアンダーソン

実装ドメイン駆動設計(IDDD)の作者であるVaugnh Vernonの優れたサンプルを追加する必要があります:github.com/VaughnVernon/IDDD_Samples
Sylvain Lecoy

23

言うまでもなくソースプロジェクトではありませんが、DDDを非常によくカバーするいくつかの優れたビデオがあるFlashが必要です。

これらは、現在利用可能なほとんど存在しないDDDの例よりもはるかに役立つことがわかりました。


リンクが機能しない
シドゲート


11

Project Silkをチェックしてください。DDDだけでなく、他の最先端のパターンも示しています。これは、どのWeb開発者にとっても優れたリソースです。プロジェクトの完全な概要は、MSDNにあります。


ソースコードはもう利用できません:(
Dherik

7

これは、ドメイン主導の設計に基づく良い例であり、ドメインレイヤーを分離することが重要である理由を説明しています。
マイクロソフトスペイン-DDD Nレイヤーアーキテクチャ


1
私はこれに投票することはできませんが、Ayendeのブログにアクセスして、これが良い例ではないと彼が考える理由を確認してください。ayende.com/blog/19457/...
クリス

1
提供したリンクが機能しない、メッセージエラー:「プロジェクト 'microsoftnlayerapp'が見つかりませんでした」
Omar AMEZOUG


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.