public IPizzaPriceCalculator ChangePizzaPriceCalculator(IPizzaPriceCalculator calculator) { IPizzaPriceCalculator result = calculator; foreach (IPlugin plugin in plugins) { result = plugin.ChangePizzaPriceCalculator(result); } return(result); }
public PriceStep(IPizzaPriceCalculator priceCalculator, IPizzaFactory pizzaFactory) { this.priceCalculator = priceCalculator; this.pizzaFactory = pizzaFactory; }
public virtual IPizzaPriceCalculator ChangePizzaPriceCalculator(IPizzaPriceCalculator calculator) { return(calculator); }
public SalesTaxCalculator(IPizzaPriceCalculator replacedCalculator) { this.replacedCalculator = replacedCalculator; }
public override IPizzaPriceCalculator ChangePizzaPriceCalculator(IPizzaPriceCalculator calculator) { return(new SalesTaxCalculator(calculator)); }