[Plone-IT] Re: Z3CForm e collective.lead (sqlalchemy) impossibile splittare le classi in piu' file.

Gianni Cozzolongo gianniftp a gmail.com
Gio 10 Dic 2009 09:17:44 UTC


riflettendoci, avevo raggiunto una conclusione simile, anche se non ho
verificato,
quindi grazie per la spiegazione.

ovviamente adesso funziona tutto e abbiamo il layer delle form separato da
quello del db.

Gianni

2009/12/10 Simone Deponti <shywolf9982 a gmail.com>

> On Wed, 9 Dec 2009 12:36:06 +0100
> Gianni Cozzolongo <gianniftp a gmail.com>
> wrote:
>
>
> Ciao,
>
> >
> > e' necessario creare un istanza dell'utility ogni volta che si vuole
> > accedere al db?
> >
>
> La risposta breve: no.
>
> La risposta lunga:
>
> non ne sono sicuro al 100% perché non mi sto a spulciare gli internals
> di Z3 ogni giorno, ma il codice:
>
> fancy_utility = getUtility(IFancy, u"fancyutility")
>
> non è detto che crei sempre l'utility: diciamo, semplificando davvero
> molto, che zope si tiene le chiamate a getUtility in cache e se hai già
> chiamato getUtility con quei parametri ti ritorna direttamente l'istanza
> dell'utility senza __call__are il factory di nuovo.
> Detto ciò, io non farei però conto sul fatto che quell'istanza sia un
> singleton, difatti se non ricordo male questa "specie di cache" del
> component registry è threadlocal.
> In sostanza è molto difficile sapere se è un'istanza "nuova" o
> "vecchia" ma il fatto è che, per quanto riguarda le utility, non
> dovrebbe importartene a livello di logica.
>
> Per quanto riguarda le prestazioni beh, non ti devi preoccupare perché
> ci ha già pensato Z3 ;)
>
> Riassumendo, consiglio di fare i getUtility sempre all'interno di un
> metodo: nell'__init__ se viene usata in più metodi o direttamente nel
> metodo (senza agganciarla al self) se va usata solo in quello.
>
> _______________________________________________
> Plone-IT mailing list
> Plone-IT a lists.plone.org
> http://lists.plone.org/mailman/listinfo/plone-it
> http://www.nabble.com/Plone---Italy-f21728.html
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.plone.org/pipermail/plone-plone-it/attachments/20091210/48274b76/attachment.html>


Maggiori informazioni sulla lista Plone-IT