/// <summary> /// Initializes a new instance of the <see cref="Pizzeria"/> class. /// </summary> /// <param name="waiter">The waiter.</param> /// <param name="pizzaKitchen">The pizza kitchen.</param> /// <param name="logger">The logger.</param> /// <exception cref="System.ArgumentNullException"> /// waiter /// or /// pizzaKitchen /// </exception> public Pizzeria( IPizzeriaWaiter waiter, IPizzaKitchen pizzaKitchen, ILogger logger) { this.waiter = waiter ?? throw new ArgumentNullException(nameof(waiter)); this.pizzaKitchen = pizzaKitchen ?? throw new ArgumentNullException(nameof(pizzaKitchen)); this.logger = logger ?? LogManager.CreateNullLogger(); // Add a simple delegate to return the default interval (from the config) this.OrderInterval += () => DefaultCookingIntervalMsLazy.Value; }
/// <summary> /// Initializes a new instance of the <see cref="Pizzeria"/> class. /// </summary> /// <param name="waiter">The waiter.</param> /// <param name="pizzaKitchen">The pizza kitchen.</param> public Pizzeria( IPizzeriaWaiter waiter, IPizzaKitchen pizzaKitchen) : this(waiter, pizzaKitchen, null) { }