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(); } }
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(); }