【发布时间】:2010-11-18 02:29:24
【问题描述】:
如果我必须将一个对象保存到具有关系的数据库中,我是让那个 dao 自己完成所有保存,还是委托给其他 DAO。如果它应该委托给其他 DAO,应该在 DAO 本身中完成,还是在上面的层(如服务层)中完成? 我会为此使用 ORM,除了在 PHP 中,还没有什么好东西。
【问题讨论】:
如果我必须将一个对象保存到具有关系的数据库中,我是让那个 dao 自己完成所有保存,还是委托给其他 DAO。如果它应该委托给其他 DAO,应该在 DAO 本身中完成,还是在上面的层(如服务层)中完成? 我会为此使用 ORM,除了在 PHP 中,还没有什么好东西。
【问题讨论】:
我认为答案取决于所有权。
如果 Parent 拥有 Children,并且没有 Parent 就不可能创建 Child,那么它应该只是 ParentDao 而根本没有 ChildDao。
如果您可以在没有父级的情况下创建子级,则需要 ChildDao 来执行其 CRUD 操作。在这种情况下,您可以让 ParentDao 拥有对 ChildDao 的引用并将 Child CRUD 操作推迟到它。
【讨论】: