1

ドメイン モデリングとマッパーの学習曲線上にいます。モデル内で別のマッパーを呼び出しても大丈夫ですか? 例えば:

class model_project extends model {
  [...]
  public function addTag($tag)
  {
   $tagMapper = new Mapper_Tag;
   $tag = $tagMapper->findByName($tag);
   if(!$tag) {
     // create new $tag
     $tagMapper->save($tag);
   }
  }
  [...]
}

つまり、モデルでログインを機能させるためにマッパーで保存関数を呼び出しても大丈夫ですか、それとも適切な慣行によって禁止されていますか?

4

1 に答える 1

3

ドメイン モデルは、マッパーなどの他のインフラストラクチャについて認識しません。ドメイン モデルは、ドメインをモデル化する単なるオブジェクトです。これらのオブジェクトは、どちらもドメイン外で、ファクトリによって作成されるか、リポジトリによって復元されます。

ドメインモデルは、それが属する境界コンテキストでは意味をなさない保存やその他のことを気にするべきではありません。

于 2012-04-23T11:26:57.703 に答える