Один большой DAO или несколько меньших? - PullRequest
2 голосов
/ 09 августа 2009

Если мне нужно сохранить объект в базе данных, которая имеет отношения, должен ли этот dao делать все сохранение самостоятельно или делегировать другим DAO. Если он должен делегировать другим DAO, должно ли это быть сделано в самом DAO или на уровне выше (например, на уровне обслуживания)? Я бы использовал ORM для этого, за исключением того, что в PHP ничего хорошего еще не существует.

Ответы [ 2 ]

4 голосов
/ 09 августа 2009

Я думаю, ответ зависит от владельца.

Если родительский объект принадлежит дочерним элементам, и нет возможности создать дочерний элемент без родительского элемента, тогда это должен быть просто ParentDao, а не ChildDao вообще.

Если вы можете создать Child без Parent, вам потребуется ChildDao для его операций CRUD. В этом случае у ParentDao может быть ссылка на ChildDao и откладывать на нее дочерние CRUD-операции.

0 голосов
/ 09 августа 2009

Я согласен с ответом Даффимо - но мне интересно ваше заявление

Я бы использовал ORM для этого, за исключением того, что в PHP ничего хорошего еще не существует

Я использовал оба Doctrine и Propel и обнаружил, что они оба очень способные. Мое личное предпочтение - Doctrine, хотя в Propel 1.3

было сделано значительное количество улучшений.
...