public FibonacciCalculator(string strategy)
        {
            switch (strategy)
            {
            case "stack":
                fibonacciStrategy = new StackStrategy();
                break;

            case "recursion":
                fibonacciStrategy = new RecursionStrategy();
                break;

            default:
                throw new StrategyNotSpecifiedException();
            }
        }
 public Queue <long> Generate(int rounds, IFibonacciStrategy strategy)
 {
     return(strategy.Generate(rounds));
 }
 public FibonacciNumbersGenerator(IFibonacciStrategy strategy)
 {
     _strategy = strategy;
 }