On 13/08/2014 14:59, Eric Chatellier wrote:
Le 13/08/2014 10:08, Brendan Le Ny a écrit :
« TopiaTransaction » représente déjà un autre contrat, et PersistenceContext propose beaucoup d'autres opérations. Ce serait un peu réducteur. Après j'suis d'accord que ça reste peut-être le contrat principal, y'a quand même tout l'aspect DaoSupplier en plus.
Certes. Cependant, meme si TopiaTransaction fait partie de l'API publique de Topia, ce n'est pas quelque chose qui est manipulé ou visible par l'utilisateur.
Tu pourrais. Rien ne t'empêche de ne manipuler ou de ne rendre public dans ton application que des TopiaTransaction. Exemple le ServiceContext expose "public TopiaTransaction getTransaction();". Ah bah tiens, c'est exactement ce qu'on a (j'ai?) fait dans Agrosyst :) https://forge.codelutin.com/projects/agrosyst/repository/entry/trunk/agrosys...
Context a pour moi un sens précis donc ça me dérange pas d'avoir beaucoup de Context. Context ca désigne aussi, peut être, quelques chose de "constant" ou qui a une portée plus longue dans l'application, comme l'ApplicationContext.
PersistenceContext à une durée de vie très courte, et le "contexte" se justifie moins.
-1, il m'arrive d'utiliser un context lors d'une opération a plusieurs étapes (exemple ImportContext) pour lequel la durée de vie peut être très courte. Proposition : - TopiaApplicationContext (pas de chamgement) - TopiaTransactionContext Arnaud - pas satisfait, mais qui tente de faire avancer le schmilblik ...