public static IStrategy FindStrategy(char @operator) { IStrategy strategyToChange = null; switch (@operator) { case '+': strategyToChange = new AdditionStrategy(); break; case '-': strategyToChange = new SubtractionStrategy(); break; case '*': strategyToChange = new MultiplicationStrategy(); break; case '/': strategyToChange = new DivisionStrategy(); break; default: throw new ArgumentException($"Invalid operator {@operator} !"); } return(strategyToChange); }
public PrimitiveCalculator() { this.additionStrategy = new AdditionStrategy(); this.subtractionStrategy = new SubtractionStrategy(); this.multiplicationStrategy = new MultiplicationStrategy(); this.divisionStrategy = new DivisionStrategy(); this.isAddition = true; }