1
resposta

Fiz esse código para o padrão Singleton . Está ok ???

namespace Singleton
{
    // Classe no modelo Singleton simples
    public sealed class Cadeira
    {
        private static readonly Cadeira instance = new Cadeira();
        public int Quantidade { get; set; }

        private Cadeira() { }

        public static Cadeira Instance
        {
            get
            {
                return instance;
            }
        }
    }

    // Implementação a casse Singleton simples...
    class Program
    {
        static void Main(string[] args)
        {
            // Colocando em prática
            Cadeira _cadeira1 = Cadeira.Instance;
            _cadeira1.Quantidade = 1;

            Cadeira _cadeira2 = Cadeira.Instance;
            _cadeira2.Quantidade = 5;

            Console.WriteLine(_cadeira1.Quantidade.ToString());
            Console.WriteLine(_cadeira2.Quantidade.ToString());
            Console.ReadLine();
        }
    }
}

Observação: foi criada uma classe Cadeira que serão alocadas para um determinado jantar.

Está tudo ok ???

1 resposta

Olá Maurício,

A princípio a sua implementação do singleton, feita na classe Cadeira, está correta. Só fique atento que na utilização, a instância utilizada será a mesma na variável _cadeira1 e _cadeira2. Ou seja, primeiro você irá atribuir o valor da quantidade para 1 e depois alterar esse valor para 5. No Console.WriteLine irá imprimir 5 duas vezes.

Abraço.