none
Singleton RRS feed

  • Pergunta

  • Boa tarde pessoal, gostaria de saber se há algum problema em utilizar uma instancia somente na criação de um "pedido" para que fossem adicionados os "produtos" em uma lista contida na classe, bem assim:

        public class Pedido
        {
            public int id { get; set; }
            public List<Produto> produtos = new List<Produto>();

            private static Pedido instance;

            public static Pedido Instance
            {
                get
                {
                    if (instance == null)
                    {
                        instance = new Pedido();
                    }
                    return instance;
                }
            }

        }

    Entendo que o padrao Singleton utiliza o static como somente um ponto de instancia, então seria um problema para multiplos usuários ?
    domingo, 28 de dezembro de 2014 16:29

Todas as Respostas

  • Não tem nenhum problema, quando você cria a instancia de Pedido o objeto é criado em memória na maquina do usuário
    segunda-feira, 29 de dezembro de 2014 12:36
  • Se for em um ambiente Web você terá problema, pois a variável estática será compartilhada entre todos os usuários onlines no site, e ela será reiniciada apenas se você forçar o null ou se tiver um recycle no IIS.

    Portanto, se for ambiente Web, utilize uma session ou outra lógica de cache por usuário.

    Abs,

    Frederico

    http://www.fredericoemidio.com

    segunda-feira, 29 de dezembro de 2014 15:24