0

我正在从事电子商务网站的推广部分工作。

我们有两种促销方式:

  1. 为客户提供折扣
  2. 向客户提供礼品产品(免费)

这两种促销活动都需要客户满足一些先决条件。例如,如果购物车的小计超过 1000 美元,客户可以获得 20% 的折扣。另一个例子,如果购物车的小计超过 1500 美元,客户可以获得 iPad 3 作为礼物。

可以看到,这两个推广的前提是相似的。所以我用一个Promotion类来表示促销,用一个PromotionRule类来呈现客户应该满足的前提条件。模型是(用 C# 编写的):

public class Promotion {
    public string Name { get; set; }
    public PromotionType Type { get; set; }
    public decimal DiscountAmount { get; set; }
    public IList<Product> GiftProducts { get; set; }
    public IList<PromotionRule> Rules { get; set; }
}

public enum PromotionType {
    Discount = 0,
    GiftProduct = 1
}

public class PromotionRule {
    public decimal? MinAmountOfTheShoppingCart { get; set; }
    ...
}

您可以看到,促销可以有一个客户应该满足的促销规则列表。PromotionType用于表示我们是否会为客户提供折扣或礼品产品。

现在,我的问题是:PromotionRule在这种情况下是个好名字吗?因为我英语不是很好。我不知道这个名字是否容易理解。谢谢!

4

1 回答 1

1

...一个 PromotionRule 类,用于提出客户应满足的先决条件。

我不认为“规则”是一个坏名字。规则通常包含一个或多个隐式或显式条件。

Wikipedia 在业务规则下列出了一些示例:

例如,业务规则可能规定不对回头客执行任何信用检查。业务规则的其他示例包括要求租赁代理在信用评级过低时拒绝租赁租户,或要求公司代理使用首选供应商列表和供应时间表。

在第一个 Wikipedia 示例中,我们看到了以下条件:

if( !isReturnCustomer ){
    PerformCreditCheck();
}

一条规则很容易有多个条件,例如:

if( temperature < 0 && isRaining ){
    HandleFreezingRain();
}

因此,如果您的类封装了多个条件,我建议使用“规则”,如果对象仅封装一个条件,我建议使用“PromotionCondition”。或者也许是一个PromotionRule包含PromotionConditions.

于 2012-09-26T19:52:56.610 回答