Il giorno 17/mag/2013, alle ore 23:52, Gollum1 <gollum1.smeag...@gmail.com> ha 
scritto:

> per la maggiore dovrebbe trattarsi di valori di variabili che vengono
> impostate in funzione degli argomenti passati dalla riga di comando.

Come regola generale utilizzo una classe primaria da
cui genero un istanza che sarà la mia radice.
A questa poi andrò ad 'appendere gli altri oggetti di
altre classi che eventualmente mi servissero e via dicendo.

Ho messo qualche metodo stupido e ti suggerisco di vedere
come l'uso di una property ti consenta di fare cose carine
come calcolare una sola volta e poi cachare dei dati.

Il vantaggio di questo approccio è, a mio avviso, il fatto
che nel namespace globale metti una sola referenza (in questo caso 'root')
e tutto si dirama da lì.

Qui parliamo di python ma in javascript, ad esempio, per non creare conflitti
con altre librerie il fatto di avere un'unica referenza, magari con un nome 
molto
originale, ti garantisce da possibili collisioni.


class MiaClasseBellissima(object):
    def __init__(self,par1=None,par2=None...)
        self.par1=par1
        self.par2=par2
        .....
        .....
    
    def faiQuesto(self):
        if self.par1==0:
           .....
        self.datoCarino= self.preparaDatoCarino(self.par2,....)
        k = self.mioDatoLazy(self.datoCarino)
        .....

    
    def faiQuello(self):
        .....

    def preparaDatoCarino(self):
        .....

    @property
    def mioDatoLazy(self):
        if not hasattr(self,'_mioDatoLazy):
             self._mioDatoLazy=self.preparaMioDatoLazy()
        return self._mioDatoLazy

     def self.preparaMioDatoLazy(self):
         mioGrossoDizionario=dict()
         #fa un bel lavoro che va fatto solo una volta  per riempire 
mioGrossoDizionario
         return mioGrossoDizionario


if __name__=='__main__':
    #ottengo parametri

    root= MiaClasseBellissima(parametri)


Non so se è il modo migliore ma io mi ci sono sempre trovato benone...

Ciao
G.



_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a