Пример #1
0
        static void Main(string[] args)
        {
            CSharpDemoHandler demoHandler = new CSharpDemoHandler();
            IDemoFactory      demoFactory = null;
            string            navigationText;
            int choice = 1;

            do
            {
                navigationText = $"{demoHandler}>";
                Console.Clear();
                if (choice == 1)
                {
                    demoFactory = demoHandler.SelectDemoFactory();
                    if (demoFactory == null)
                    {
                        Console.WriteLine("Selected demo not available");
                        return;
                    }
                }

                Console.Clear();
                navigationText += $"{demoFactory}>";
                Console.WriteLine(navigationText);

                IConceptDemo demo = demoFactory?.SelectDemo();

                if (demo == null)
                {
                    Console.WriteLine("Selected demo not available");
                    return;
                }

                Console.Clear();
                navigationText += $"{demo}>";
                Console.WriteLine(navigationText);

                demo.ShowDemo();

                Console.WriteLine("\n" + Utility.LineSeprator);
                Console.WriteLine("Options:");
                Console.WriteLine("1. Go To Main Menu.");
                Console.WriteLine("2. Go To Sub Menu.");
                Console.Write("Please select your choice: ");
                choice = int.Parse(Console.ReadLine());
            }while (choice == 1 || choice == 2);
            Console.WriteLine("Wrong Choice !.");
        }
        private void DemoFactoryMethod()
        {
            AbstractDemoFactory facDK = DemoFactoryGenerator.GetFactory(true);

            IDemoFactory obj = facDK.GetClass("polite");

            obj.Print("peter");

            obj = facDK.GetClass("friendly");
            obj.Print("peter");


            // på engelsk
            AbstractDemoFactory facUk = DemoFactoryGenerator.GetFactory(false);
            IDemoFactory        objUk = facUk.GetClass("polite");

            objUk.Print("peter");
        }