Esempio n. 1
0
        static void Main(string[] args)
        {
            var boiler1 = ChocolateBoiler.GetInstance();
            var boiler2 = ChocolateBoiler.GetInstance();

            if (!boiler1.IsBoiled())
            {
                Console.WriteLine("Boiler 1 is cold");
            }
            if (!boiler2.IsBoiled())
            {
                Console.WriteLine("Boiler 2 is cold");
            }
            Console.WriteLine("Turning on Boiler 1...");
            boiler1.Boil();
            if (boiler1.IsBoiled())
            {
                Console.WriteLine("Boiler 1 is boiled!");
            }
            if (boiler2.IsBoiled())
            {
                Console.WriteLine("So is Boiler 2!");
            }

            if (boiler1 == boiler2)
            {
                Console.WriteLine("GetInstance returns the same chocolate boiler each time!");
            }
            else
            {
                Console.WriteLine("GetInstance returns different chocolate boilers each time!");
            }
        }
 public static ChocolateBoiler GetChocolateBoiler()
 {
     if(uniqueInstance == null)
     {
         uniqueInstance = new ChocolateBoiler();
     }
     return uniqueInstance;
 }
        static void Main(string[] args)
        {
            ChocolateBoiler boiler = ChocolateBoiler.Instance;
            boiler.Fill();
            boiler.Boil();
            boiler.Drain();

		    // will return the existing instance
		    ChocolateBoiler boiler2 = ChocolateBoiler.Instance;
        }