Orario: 18-06-2013, 21:56 Benvenuto ospite! (Log inRegistrati)


Rispondi 
Avere una sola istanza di un oggetto..
Autore Messaggio
sbrandollo
Junior Member

Messaggi: 6
Registrato: Apr 2010
Offline Offline
#31 RE: Avere una sola istanza di un oggetto..
0
(24-02-2010 13:17)CiroContinisio ha scritto:  Ma infatti io quella cosa non la uso. E fra l'altro, in Flash non esistono i singleton nativamente. Sì possono implementare con un 'trucco', il mio preferito è questo:

Codice:
package managers
{
    public class UserMan
    {
        private static var instance:UserMan;        
        //================================================================================​====
        public function UserMan(_enf:SingletonEnforcer):void
        {
            
        }        
        //================================================================================​====
        public static function getInstance():UserMan
        {
            if(instance == null) instance = new UserMan(new SingletonEnforcer());
            return instance;
        }
    }
}

internal class SingletonEnforcer {}

E poi si accede ovunque tramite:

Codice:
UserMan.getInstance()

L'unica rogna è che non puoi passare parametri in fase di costruzione, anche se lo puoi fare in un secondo momento.

Questo era il mio umile contributo alla programmazione mondiale.

Ah,

Codice:
Tommo.getInstance() = null

Io in flash preferisco questo

Codice:
package
{
    public final class Singleton
    {
        private static var instance:Singleton = new Singleton();

        public function Singleton()
        {
            if( instance ) throw new Error( "Singleton and can only be accessed through Singleton.getInstance()" );
        }
        public static function getIstance():Singleton
        {
            return instance;
        }
    }
}
18-05-2010 6:10
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Rispondi 


Vai al forum: