{// member variables (HAS A) // constructor // member methods (CAND DO) public ISweepstakesManager DetermineManager(string answer) { ISweepstakesManager sweepstakesManager; switch (answer) { case "stack": SweepstakesStackManager sweepstakesStackManager = new SweepstakesStackManager(); sweepstakesManager = sweepstakesStackManager; break; case "queue": SweepstakesQueueManager sweepstakesQueueManager = new SweepstakesQueueManager(); sweepstakesManager = sweepstakesQueueManager; break; default: UserInterface.DisplayWrongInput(); string tryagain = UserInterface.AskQueueOrStack(); sweepstakesManager = DetermineManager(tryagain); break; } return(sweepstakesManager); }
static void Main(string[] args) { SweepstakesFactoryDesign sweepstakesFactoryDesign = new SweepstakesFactoryDesign(); string answer = UserInterface.AskQueueOrStack(); ISweepstakesManager sweepstakesManager = sweepstakesFactoryDesign.DetermineManager(answer); MarketingFirm marketingFirm = new MarketingFirm(sweepstakesManager); marketingFirm.StartSweepstakes(); marketingFirm.EndSweepstakes(); Console.ReadLine(); }