public decimal CalculateDiscount(Order order) { if (Log != null) { Log($"Calculating... {order.OrderNumber}"); } if (discountValidatorStrategy.CanDiscount(order)) { if (Log != null) { Log("Calculated"); } return(discountCalculatorStrategy.Discount(order)); } else { return(0); } }