private static void RunCommandDesignPatternDemo() { ModifyPrice modifyPrice = new ModifyPrice(); Product product = new Product("IPhone", 900); ExcecuteCommand(product, modifyPrice, new ProductCommand(product, PriceAction.Increase, 700)); ExcecuteCommand(product, modifyPrice, new ProductCommand(product, PriceAction.Increase, 200)); ExcecuteCommand(product, modifyPrice, new ProductCommand(product, PriceAction.Decrease, 300)); ExcecuteCommand(product, modifyPrice, new ProductCommand(product, PriceAction.Decrease, 200)); }
private static void ExcecuteCommand(Product _product, ModifyPrice _modifyPrice, ICommand productCommand) { _modifyPrice.SetCommand(productCommand); _modifyPrice.Invoke(); Console.WriteLine(_product.ToString()); }