例如,我有一个DAO用于访问令牌数据库。 是否可以使用它来创建并立即保留新实体,如下例所示? (PHP中的示例)
class TokenDao {
...
public function createToken($code) {
$token = new Token($code);
$this->entityManager->persist($token);
$this->entityManager->flush();
return $token;
}
}
它将对象工厂与DAO结合在一起。我认为制作单独的对象工厂和dao(可能包装成外观)是不必要的开销,但是如果这不是一种不好的做法,我想听听别人的意见。
如果没有问题,我还没有找到关于DAO模式的文章的正面或负面线索。
感谢您的意见/答案。
答案 0 :(得分:0)
在我看来,DAO应仅用于封装数据库而不执行某些逻辑或创建。
在您的示例中,另一个问题是如果您更改Token构造函数,则还必须更改TokenDao。
我的意见是,在与DAO分开的图层中创建令牌。