fa riferimento alla classe stessa antistatica statica in prisma

0

Ho un'applicazione e il mio approccio al design è il seguente:

class Manager
{
    public int State;

    static Manager _instance = null;
    public static Manager Instance
    {
        get { return _instance; }
        set
        {
            if (_instance == value)
                return;
            _instance = value;
        }
    }

    public Manager()
    {
        State = 0;
        Instance=this;
    }
}
class Module1
{
    public void GetState()
    {
        Console.WriteLine(Manager.Instance.State);
    }
}
class Module2
{
    public void GetState()
    {
        Console.WriteLine(Manager.Instance.State);
    }
}
class Module3
{
    public void GetState()
    {
        Console.WriteLine(Manager.Instance.State);
    }
}

Classe Manager già registrata in Bootstrapper come:

 protected override void ConfigureContainer()
 {
       base.ConfigureContainer();
       Container.RegisterType<Manager>(new ContainerControlledLifetimeManager());
 }
 protected override void InitializeModules()
 {
      Manager man= Container.Resolve<Manager>();
 }

Domanda è ho bisogno di definire il mio oggetto gestore come statico nel suo campo per essere in grado di raggiungere il suo stato? O questo è anti-pattern o cattivo per le prestazioni?

    
posta Michael Riva 06.06.2014 - 09:38
fonte

0 risposte