50

それで、私のチームの開発者の1人からこの質問を受けました:ドメイン駆動設計とは何ですか?もちろん、エヴァンスの本を指すこともできますが、それは実際に答えですか?

チームのジュニアソフトウェアエンジニアに、DDDを数文でどのように説明しますか?

4

7 に答える 7

46

この実践は、「解決空間」ではなく「問題空間」にあなたの努力を集中させることを促進すると思います。ドメインを研究し、実際に理解して理解することにより、緊急のソリューション(設計)を推進します。(XPから取得した)プラクティスの1つは、問題のドメインで発生するストーリーの作成です。これらから、設計のユースケースとオブジェクトを特定できます。それらは「出現」し、ソリューションに何が必要であり、どのように相互作用する必要があるかを示します。

于 2008-09-19T10:42:01.683 に答える
23

InfoQには無料の電子書籍があります。

ドメイン駆動型設計を迅速に

たくさんの例があり、良い読み物です。

于 2008-09-19T10:56:38.543 に答える
9

「ドメイン」を発見する過程で、開発者とプロジェクトの他のすべての利害関係者の両方が理解できる共通の言語を形成します。

ドメインモデルとその「用語」は、完成品のソースコードで非常によくわかります。それは少なくとも私の経験です

于 2008-09-19T10:47:51.453 に答える
4

あなたが書いているソフトウェアが何であるかを理解しようとし、その理解をモデルに反映させます。

于 2008-09-19T10:55:16.973 に答える
4

DDDの重要な部分は、いわゆるユビキタス言語です。つまり、ビジネスの専門家と同じ言語を話します。そして、インピーダンスの問題を回避するために、この言語を反映するようにコード/アーキテクチャを作成します。

于 2008-09-19T10:44:40.633 に答える
2

ドメイン駆動設計とは、アプリケーションの複雑さを最も簡単に抽出できるドメイン モデルで管理することです。

数文で説明するのは非常に難しいですが、InfoQの本を良い入門書としてお勧めします。また、多くの人が Evans の DDD の本を使ってブック クラブを開催していると聞いたことがあります。

于 2008-09-23T20:40:02.110 に答える
2

私にとって、次のレベルの OOD/OOP は、カプセル化が問題空間に関するすべてであり、ユーザーが説明および理解するものであり、技術的な実装に関するものではありません。

于 2008-10-18T01:24:32.753 に答える