2

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

4

2 回答 2

4

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

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

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

于 2009-08-09T15:22:10.990 回答
0

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

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

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

于 2009-08-09T15:29:34.563 回答