public Calculator(bool inputFromConsole, IGetterOperation getterOperation, IConsoleWrapper consoleWrapper) { if (getterOperation == null) { throw new ArgumentNullException("getterOperation"); } if (consoleWrapper == null) { throw new ArgumentNullException("consoleWrapper"); } this.IsInputFromConsole = inputFromConsole; this.GetterOperation = getterOperation; this.ConsoleWrapper = consoleWrapper; }
static void Main(string[] args) { string arg; if (args.Length == 0) { arg = GetTypeOfInput(); } else { arg = args[0]; } try { IConsoleWrapper consoleWrapper = new ConsoleWrapper(); IGetterOperation getterOperation = null; bool inputFromConsole = false; if (arg == InputFromConsole.OperationFromConsole) { inputFromConsole = true; getterOperation = new GetterOperationFromConsole( new ConsoleManagerRecorsive(new ConsoleManager(consoleWrapper))); } else { getterOperation = new GetterOperationFromFile(arg, new FileWrapper()); } Calculator calculator = new Calculator(inputFromConsole, getterOperation, consoleWrapper); calculator.Calculate(); } catch (Exception) { Environment.Exit(1); } }