private static void TestAbstractFactory() { // Change the enum to change the factory and products!! IAbstractCakeFactory iceCreamCakeFactory = CakeMakerFactory.Instance.GetCakeFactory(DpConstants.CakeFactories.ChocolateCakeFactory); ICakeBase cakeBase = iceCreamCakeFactory.CakeBase(); ICakeTopping cakeTopping = iceCreamCakeFactory.CakeTopping(); cakeBase.MakeCakeBase(); cakeTopping.MakeCakeTopping(); Console.ReadLine(); }
public IAbstractCakeFactory GetCakeFactory(DpConstants.CakeFactories factoryType) { IAbstractCakeFactory cakeFactory = null; switch (factoryType) { case DpConstants.CakeFactories.ChocolateCakeFactory: cakeFactory = new ChocolateCakeFactory(); break; case DpConstants.CakeFactories.IcecreamCakeFactory: cakeFactory = new IcecreamCakeFactory(); break; default: cakeFactory = new IcecreamCakeFactory(); break; } return(cakeFactory); }