Esempio n. 1
0
 public CreateCommandExecutor(IFiguresStorage figuresStorage, IFigureCreationManager figuresCreationManager,
                              ILogger logger)
 {
     FiguresStorage         = figuresStorage;
     FiguresCreationManager = figuresCreationManager;
     Logger = logger;
 }
Esempio n. 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FiguresController"/> class.
 /// </summary>
 /// <param name="orderStorage">Хранилище заказов. реализация IOrderStorage, должна быть зарегистрирована в DI.</param>
 /// <param name="figuresStorage">Хранилище фигур, реализация IFiguresStorage, должна быть зарегистрирована в DI.</param>
 /// <param name="orderValidator">Проверщик заказа. реализация IOrderValidator, должна быть зарегистрирована в DI.</param>
 public FiguresController(
     IOrderStorage orderStorage,
     IFiguresStorage figuresStorage,
     IOrderValidator orderValidator)
 {
     this.orderStorage   = orderStorage;
     this.figuresStorage = figuresStorage;
     this.orderValidator = orderValidator;
 }
        public FiguresController(ILogger <FiguresController> logger, IOrderStorage orderStorage, IFiguresStorage figuresStorage)
        {
            // Сделаем сервис логирования обязательным, раз уж у нас высоконагруженный контроллер/экшен
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            // Без сервиса orderStorage контроллер не сможет выполнять свои функции и, если его не инжектировали, то рушим всё и сразу
            _orderStorage = orderStorage ?? throw new ArgumentNullException(nameof(orderStorage));

            // Вместо ссылки на статический сервис, сделаем его инжектируемым, чтобы в будущем можно было легко протестировать и ничто нам не мешает сделать его как Singleton, но не здесь
            _figuresStorage = figuresStorage ?? throw new ArgumentNullException(nameof(orderStorage));
        }
Esempio n. 4
0
 public PrintCommandExecutor(IFiguresStorage figuresStorage, ILogger logger)
 {
     FiguresStorage = figuresStorage;
     Logger         = logger;
 }
Esempio n. 5
0
 public OrderService(IFiguresStorage figuresStorage, IOrderStorage orderStorage)
 {
     _figuresStorage = figuresStorage;
     _orderStorage   = orderStorage;
 }