salut,
j'ai vu que la partie persistance des données d'un logiciel peut se faire en se base sur le pattern DAO ou bien en tant que code technique , donc un aspect .
Quel est le meilleur choix ?
Merci.
Version imprimable
salut,
j'ai vu que la partie persistance des données d'un logiciel peut se faire en se base sur le pattern DAO ou bien en tant que code technique , donc un aspect .
Quel est le meilleur choix ?
Merci.
Bonjour,
Je comprends pas "du code technique, donc un aspect". Si tu parles d'un greffon pour faire de la persistance oui c'est possible, mais je vois pas trop l'intérêt à part se compliquer la vie. L'AOP c'est surtout utilisée pour les transactions.
Bonjour,
Ton pattern DAO peut te servir à faire du CRUD.
Si tu as du code technique ré-utilisable :fleche: tu peux utiliser un aspect (AOP) pour gérer les transactions.
Si tu utilises le framework Spring, ce dernier te fournit une annotation AOP pour gérer les transactions :fleche: @Transactional.
A+
Salut,
Si ton service ne possède qu'une seule opération (insert, ou update, ou delete) alors oui ce sera par défaut une transaction, mais si tu possèdes un ensemble d'opérations ce sera à toi d'établir la granularité de ta transaction. Par exemple, en mode auto-commit, tu auras autant de transaction que d'opérations, et si ton service échoue durant son exécution alors tu perdras l'intégrité de tes données.Citation:
1. est ce les opérations CRUD ne sont pas eux même des transactions ?
Je n'ai peut-être pas compris le sens de ta question, si tu parles des transactions et que tu utilises le framework Spring alors tu peux juste utiliser l'annotation @Transactional, si c'est un aspect que tu as toi-même développé et que tu souhaites le réutiliser, il te suffit de créer un projet de type "librairie" dédié à cet aspect que tu pourras importer dans d'autres projets. Utilisant Maven, je créerais juste un module par exemple.Code:2. comment réutiliser un code technique développés en tant que Aspect d'un projet à un autre ? est ce que je vais faire du copier/coller ou il y a une autre procédure de le faire ?
A+