ここや他のフォーラムで尋ねられる多くの質問に対して私が目にする一般的な反応の1つは、「そのためにDDDを実行する必要はありません。その単純なCRUDアプリケーションであるDDDは過剰設計です」のようなものです。
私はDDDを初めて使用しますが、DDDには、アプリケーションがDDDを義務付ける複雑なenufであるかどうかに関係なく、普遍的な魅力があり、全面的に使用できる要素がたくさんあると思います。たとえば、アプリケーションの階層化、DDDが認識するさまざまなアーティファクトなどです。基本的なモデルと確かに貧血のモデルから始めて、可能な限り純粋にするために作業/リファクタリングすることができます。
このアプローチは良いと思いますか?
それとも、DDDを採用するかどうかという点で、すべてのアプリケーションの設計に基本的な選択があると思いますか。これは、一種の「全か無かの」選択です。
UPDATE (以下のhughのコメントに応じて、より多くのコンテキストを提供するため)
既存のRuleEngineの種類のアプリケーション、基本的にはCRUDといくつかの検証、不変条件、そして展開プロセスを中心にWebアプリを構築しています。ルールの作成とセマンティックチェックは、CRUDの一部として呼び出すスタンドアロンのコードによって実行され、そのセマンティック固有のロジックはコードに含まれていません。このアプリケーションにDDDを使用しようとしていますが、DDDパラダイムに適合するほど複雑ではない可能性があります。ドメインにユビキタス言語が定義されていません。つまり、言語は、関係するエンティティのセットに名前を付ける以外に十分に専門化されていません。ドメインの専門家がエンティティの作成、編集、削除に関して話しているのを聞きました。