【问题标题】:One big DAO or multiple smaller ones?一个大 DAO 还是多个较小的 DAO?
【发布时间】:2010-11-18 02:29:24
【问题描述】:

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

【问题讨论】:

    标签: php dao


    【解决方案1】:

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

    如果 Parent 拥有 Children,并且没有 Parent 就不可能创建 Child,那么它应该只是 ParentDao 而根本没有 ChildDao。

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

    【讨论】:

      【解决方案2】:

      我同意 duffymo 的回答——但对你的说法很感兴趣

      我会为此使用 ORM,除了在 PHP 中,还没有什么好东西存在

      我用过Doctrine 和Propel 并且发现它们都非常有能力。我个人的偏好是 Doctrine,尽管 Propel 1.3 已经进行了大量改进

      【讨论】:

      • 我其实很期待 Doctrine 2.0,但我真的需要透明的持久性,这既不是 Doctrine
      猜你喜欢
      • 2013-07-22
      • 2015-10-26
      • 2011-01-01
      • 2014-09-02
      • 2019-10-10
      • 2011-11-29
      • 2011-01-18
      • 2019-07-31
      • 2016-12-04
      相关资源
      最近更新 更多