<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-09-19 12:13 GMT+02:00 Riccardo Magliocchetti <span dir="ltr"><<a href="mailto:riccardo.magliocchetti@gmail.com" target="_blank">riccardo.magliocchetti@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Il 19/09/2015 11:29, flandero ha scritto:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
2015-09-17 10:44 GMT+02:00 Stefano Bossi <<a href="mailto:ste.bossi@gmail.com" target="_blank">ste.bossi@gmail.com</a><br></span>
<mailto:<a href="mailto:ste.bossi@gmail.com" target="_blank">ste.bossi@gmail.com</a>>>:<span class=""><br>
<br>
Qualcuno l'ha mai implementato?<br>
A parte l'implementazione di SQLAlchemy ne conoscete altre?<br>
Sapete per caso se Django non lo ha mai preso in considerazione?<br>
</span></blockquote>
<br>
Direi di no by design:<br>
<a href="http://lucumr.pocoo.org/2011/7/19/sqlachemy-and-you/" rel="noreferrer" target="_blank">http://lucumr.pocoo.org/2011/7/19/sqlachemy-and-you/</a><br>
<br></blockquote><div>Avevo letto questo articolo, ma troppo tempo fa e non lo ricordavo più.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Non credo sia quello che intenda, vedi <a href="http://martinfowler.com/eaaCatalog/unitOfWork.html" rel="noreferrer" target="_blank">http://martinfowler.com/eaaCatalog/unitOfWork.html</a></blockquote><div><br>Intendevo esattamente questo, forse avrei dovuto aggiungere un pò di contesto :)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Il punto credo sia business transaction vs database transaction, tenendo pure presente di gestire una business transactions che dura per più di una request.<br></blockquote><div> </div><div>Introdurre una business transaction mi aiuterebbe a semplificare molto la domain logic e mi sono accorto che proprio non ho bene idea di come fare. Non ho cmq la pretesa che una transaction duri più di una request, o almeno per ora non ne vedo l'utilità nel mio caso.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Se dovessi farlo mi serializzerei le operazioni che vorrei fare su una cache e alla fine della fiera, deserializzo e faccio tutto in un blocco. Fare l'eventuale merge delle operazioni ridondanti lo vedo già più complicato. Poi c'è anche da pensare a come invalidare unit of work presenti in cache ma non completate. Molto probabilmente farei una cosa che, se funziona, funziona per miracolo.<br></blockquote><div><br></div><div>Hai ragione, può essere un delirio. eppure credo che il pattern sia utile e non capisco perchè nessuno nel mondo python abbia avanzato una soluzione, non trovo altro che esempi per LINQ :D<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Qua ci sono diversi possibili spunti:<br>
<a href="http://stackoverflow.com/questions/6245498/django-orm-unit-of-work" rel="noreferrer" target="_blank">http://stackoverflow.com/questions/6245498/django-orm-unit-of-work</a><span class="HOEnZb"><font color="#888888"><br>
<br></font></span></blockquote><div>Grazie!<br></div></div></div></div>