private void buttonChargerPlug_Click(object sender, System.EventArgs e)
        {
            RadioButton radioButtonChecked = chargerCreators.Keys.Where((rb) => rb.Checked).First();
            AbstractCreator <ChargerBase> chargerCreator = chargerCreators[radioButtonChecked];

            if (chargerCreators != null)
            {
                mobile.Charge(chargerCreator.Invoke(output));
                UpdateOutputEnabled();
            }
        }
        private void buttonPlaybackPlug_Click(object sender, System.EventArgs e)
        {
            RadioButton radioButtonChecked = playbackCreators.Keys.Where((rb) => rb.Checked).First();
            AbstractCreator <PlaybackBase> playbackCreator = playbackCreators[radioButtonChecked];

            if (playbackCreator != null)
            {
                mobile.PlaybackComponent = playbackCreator.Invoke(output);
                mobile.Play(new object());
                UpdateOutputEnabled();
            }
        }
Example #3
0
        static void Main(string[] args)
        {
            AbstractCreator[] creators = new AbstractCreator[2];

            creators[0] = new ConcreteCreatorA();
            creators[1] = new ConcreteCreatorB();

            foreach (AbstractCreator creator in creators)
            {
                AbstractProduct product = creator.CreateProduct();
                Console.WriteLine("Created {0}", product.GetType().Name);
            }

            Console.ReadKey();
        }
        public static void Main(string[] args)
        {
            var mobile = new ModernMobile(output);

            while (true)
            {
                Console.WriteLine("\n============================");
                Console.WriteLine("Select device: (Esc to exit)");
                Console.WriteLine($"{DEVICE_HEADPHONES} - Headphones");
                Console.WriteLine($"{DEVICE_CHARGER} - Charger");

                ConsoleKeyInfo userInput = Console.ReadKey();
                Console.WriteLine();
                if (userInput.Key == ConsoleKey.Escape)
                {
                    if (!ConfirmationPopup("You are going to exit."))
                    {
                        continue;
                    }
                    return;
                }

                switch (userInput.KeyChar)
                {
                case DEVICE_HEADPHONES:
                    AbstractCreator <PlaybackBase> playbackCreator = playbackCreators[ChooseCreator("Choose playback:", playbackCreators)];
                    mobile.PlaybackComponent = playbackCreator.Creator.Invoke();

                    mobile.Play(new object());
                    break;

                case DEVICE_CHARGER:
                    AbstractCreator <ChargerBase> chargerCreator = chargerCreators[ChooseCreator("Choose charger:", chargerCreators)];
                    ChargerBase charger = chargerCreator.Creator.Invoke();

                    charger?.Charge(mobile);
                    break;

                default:
                    Console.WriteLine("Unexpected input. Please try again.");
                    continue;
                }
            }
        }
        static void Main(string[] args)
        {
            /*
             *
             * Abstract Factory Örneği
             *
             *
             * BeslenmeCreator bc = new SporcuBeslenmesiCreator();
             *
             * Menu menu = bc.MenuCreate();
             * ConsoleApp3.Elements.Program program = bc.ProgramCreate();
             *
             * Console.WriteLine(bc.BeslenmeName + ": \n");
             * Console.WriteLine(menu.MenuName + ": " + menu.KacCesit()+ " çeşit yemek ve " + menu.MenuPuani()+ " puanlı");
             * Console.WriteLine(program.ProgramName + ": " + program.OgunAdedi() + " öğün yemek ve " + program.KaloriMiktari() + " kalorili");
             */

            /*
             *
             * Gelişmiş Abstract Factory Örneği
             */

            BeslenmeCreator bc = new SporcuBeslenmesiCreator();
            AbstractCreator ac = new AbstractCreator(bc);

            ac.BeslenmeInfo();


            /*
             * Araba x = new Araba();
             * x.direksiyon = "a1";
             * Console.WriteLine(x.direksiyon);
             * Araba y = new Araba();
             * y = x;
             * y.direksiyon = "a2";
             * Console.WriteLine("y nin direksiyonu: " + y.direksiyon);
             * Console.WriteLine("x nin direksiyonu: " + x.direksiyon);
             *
             * x.direksiyon = "a3";
             *
             * Console.WriteLine("y nin direksiyonu: " + y.direksiyon);
             * Console.ReadLine();
             */

            //Deep ve Shallow Copy Örnekleri//

            /*
             * Araba bmv = new Araba();
             * bmv.direksiyon = "bmv1";
             * bmv.motor = "bmv2";
             * bmv.vites = "bmv3";
             * bmv.yakit = "bmv4";
             *
             * Araba opel = bmv.ShallowCopy();
             * Araba audi = bmv.DeepCopy();
             *
             * Console.WriteLine("opel nin direksiyonu: " + opel.direksiyon);
             * Console.WriteLine("audi nin direksiyonu: " + audi.direksiyon);
             *
             * Console.WriteLine("****************************");
             * opel.direksiyon = "opel1";
             *
             * Console.WriteLine("opel nin direksiyonu: " + opel.direksiyon);
             * Console.WriteLine("bmv nin direksiyonu: " + bmv.direksiyon);
             * Console.WriteLine("audi nin direksiyonu: " + audi.direksiyon);
             *
             * Console.WriteLine("****************************");
             * audi.direksiyon = "audi1";
             *
             * Console.WriteLine("opel nin direksiyonu: " + opel.direksiyon);
             * Console.WriteLine("bmv nin direksiyonu: " + bmv.direksiyon);
             * Console.WriteLine("audi nin direksiyonu: " + audi.direksiyon);
             *
             * Console.WriteLine("****************************");
             * bmv.direksiyon = "bmv1";
             *
             * Console.WriteLine("opel nin direksiyonu: " + opel.direksiyon);
             * Console.WriteLine("bmv nin direksiyonu: " + bmv.direksiyon);
             * Console.WriteLine("audi nin direksiyonu: " + audi.direksiyon);
             *
             * Console.WriteLine("###############################");
             * Araba volvo = bmv;
             * volvo.direksiyon = "volvo1";
             * Console.WriteLine("opel nin direksiyonu: " + opel.direksiyon);
             * Console.WriteLine("bmv nin direksiyonu: " + bmv.direksiyon);
             * Console.WriteLine("audi nin direksiyonu: " + audi.direksiyon);
             *
             *
             * Tren tcdd = new Tren();
             *
             * tcdd.HızOrtalamasi();
             * tcdd.Temizlet();
             * tcdd.YakitTüketimi();
             *
             */


            Console.ReadLine();
        }