一个大DAO还是多个小DAO?

时间:2009-08-09 15:15:36

标签: php dao

如果我必须将对象保存到具有关系的数据库中,我是否让dao自行完成所有保存,或委托给其他DAO。如果它应该委托给其他DAO,那么应该在DAO本身,还是在上面的层(如服务层)中完成? 我会使用ORM,除了在PHP中,还没有什么好处。

2 个答案:

答案 0 :(得分:4)

我认为答案取决于所有权。

如果父母拥​​有子女,并且没有父母就不可能创建一个孩子,那么它应该只是ParentDao,而不是ChildDao。

如果你可以创建一个没有父母的孩子,你需要一个ChildDao来进行CRUD操作。在这种情况下,您可以让ParentDao拥有对ChildDao的引用并将Child CRUD操作推迟到它。

答案 1 :(得分:0)

我同意duffymo的回答 - 但我对你的陈述感兴趣

  

我会使用ORM,除了在PHP中,还没有什么好处

我已经同时使用了DoctrinePropel,并且发现它们都非常强大。我个人的偏好是Doctrine,尽管在Propel 1.3中做了大量的改进