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 回答