private void abstractFactoryPatternBtn_Click(object sender, RoutedEventArgs e) { var appearance = OOPPatternsSettings.Default.Appearance; IGUIFactory factory; try { switch (appearance) { case Constants.WIN_APPEARANCE: factory = new WinFactory(); break; case Constants.OSX_APPEARANCE: factory = new OSXFactory(); break; default: throw new System.NotImplementedException(); } var button = factory.CreateButton(); button.Paint(); } catch (System.Exception ex) { if (ex.GetType() == typeof(System.NotImplementedException)) { statusBarTB.Text = "That format of type " + appearance + ", wasn't implemented!"; } } }
static void Main(string[] args) { Array values = Enum.GetValues(typeof(OSSettings)); Random random = new Random(); OSSettings randomBar = (OSSettings)values.GetValue(random.Next(values.Length)); IGUIFactory factory; switch (randomBar) { case OSSettings.Win: factory = new WinFactory(); break; case OSSettings.OSX: factory = new OSXFactory(); break; default: throw new System.NotImplementedException(); } var button = factory.CreateButton(); button.Paint(); }
static void Main() { var appearance = Settings.Appearance; IGUIFactory factory; switch (appearance) { case Appearance.Win: factory = new WinFactory(); break; case Appearance.OSX: factory = new OSXFactory(); break; default: throw new System.NotImplementedException(); } var button = factory.CreateButton(); button.Paint(); }