Si je dois enregistrer un objet dans la base de données qui a une relation, est-ce que je dois faire tout l'enregistrement lui-même, ou déléguer à d'autres DAO. S'il doit déléguer à d'autres DAO, cela devrait-il être fait dans le DAO lui-même, ou dans une couche au-dessus (comme une couche de service)? Je voudrais utiliser un ORM pour cela, sauf qu'en PHP, rien de bon n'existe encore.Un grand DAO ou plusieurs plus petits?
Répondre
Je pense que la réponse dépend de la propriété.
Si le parent possède les enfants, et qu'il n'y a aucune possibilité de créer un enfant sans parent, alors cela devrait être juste ParentDao et pas du tout ChildDao.
Si vous pouvez créer un enfant sans parent, vous aurez besoin d'un ChildDao pour ses opérations CRUD. Dans ce cas, vous pourriez demander à ParentDao de posséder une référence à ChildDao et de lui attribuer des opérations CRUD Child.
Je suis d'accord avec la réponse de duffymo - mais je suis intéressé à votre déclaration
J'utiliser un ORM pour cela, sauf que dans PHP, rien de bon existe encore
Je l'ai utilisé à la fois Doctrine et Propel et les ont trouvés à la fois très capables. Ma préférence personnelle est Doctrine, bien qu'une quantité significative d'améliorations ait été faite dans Propel 1.3
- 1. Plus efficace: grand tableau ou plusieurs scalaires
- 2. Performance création de plusieurs petits fichiers
- 3. Un grand xslt plus petit plus granulaire
- 4. Beaucoup de petits fichiers ou un couple énorme?
- 5. Comment structurer un projet plus grand/compliqué?
- 6. lucene plus grand que
- 7. Rendre NSScroller plus grand
- 8. Diviser un grand bloc malloc en plus petites "partitions"
- 9. Comment diviser la sortie de mysqldump en fichiers plus petits?
- 10. RecvFrom() renvoie un paquet plus grand que l'expéditeur NIC MTU
- 11. façon élégante de tenir un grand dictionnaire typesafe statique java - ou d'éviter le code trop grand
- 12. Labelsize apparaît plus grand dans VB.Net
- 13. Link multiplier les petits projets xcode
- 14. DAO, Spring, Hibernate, Jboss
- 15. Java EE - DAO DVO
- 16. ADO & DAO Introduction
- 17. Ecrire un grand fichier
- 18. bibliothèque util polyvalente ou plusieurs DLL spécifiques?
- 19. Bibliothèque de pièces DAO Eagle
- 20. Est-ce que plusieurs objets de couche de service doivent partager un DAO?
- 21. Produire de petits binaires Windows
- 22. la conception DAO
- 23. Implémentation de DAO Hibernate
- 24. Le plus grand nombre de projets au sein d'une solution
- 25. Quel est le plus grand site web desservi par JBoss?
- 26. Grand Python Inclut
- 27. De petits à grands projets
- 28. WPF ListView pousse plus grand que cela contient Canvas
- 29. tableau HTML est plus grand que la fenêtre du navigateur
- 30. Quel est le plus grand site de CakePHP en volume?
J'ai vraiment hâte de Doctrine 2.0, mais j'ai vraiment besoin de persistance transparente, ce que Doctrine <2.0 ou Propel n'offrent pas. J'ai fondamentalement besoin de quelque chose de plus comme Hibernate. – blockhead