public static class ProductCollectionExctensionMethods
{
public static void ApplyCurrencyMultiplier(
this List<Product> products)
{
foreach (Product p in products)
{
p.Price = new CurrencyPriceDecorator(p.Price, 0.78m);
}
}
public static void ApplyTradeDiscount(
this List<Product> products)
{
foreach (Product p in products)
{
p.Price = new TradeDiscountPriceDecorator(p.Price);
}
}
}
调用
List<Product> products = new List<Product>(); products.ApplyCurrencyMultiplier(); products.ApplyTradeDiscount();