1

Martin Fowlerから理解できることから、貧血とは、ドメインの動作がサービスレイヤーに移動する一方で、ビジネスロジックをドメインオブジェクトから分離することを意味します。私は何かが恋しいですか?

動作がない場合、どのようにオブジェクトドメインを呼び出すことができますか?貧血ドメインモデルの非常に簡単なコードを教えてください。

4

1 に答える 1

4

それはコードによって示されます:

コードの大部分は、ドメインオブジェクト(アカウントやTransactionEntityなど)を装ってデータ構造(必要に応じてプロパティバッグ)を渡すことを扱います。それらは主にドメインに存在するものの名​​前を持っているため、「ドメインオブジェクト」です。

ほとんどのロジックは、外部の「サービス」に存在します。これには、(または個々の)データ構造のリストを操作するスクリプトが含まれています。その結果、サービスはドメインオブジェクトの内部情報にアクセス/変更する必要があります。したがって、ドメインオブジェクトは自発的に多くのゲッターとセッターを生成します。RIPカプセル化。

貧血とは、ドメインクラスにドメインロジック/動作がないか不足していることを指します。

その他の指標:

  • 'Ask'メソッドの数が'Tell/Do'メソッドの数を上回っています
于 2012-07-10T13:17:52.047 に答える