首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PromotionRule,好名字还是坏名字?

PromotionRule,好名字还是坏名字?
EN

Stack Overflow用户
提问于 2012-09-26 04:40:12
回答 1查看 58关注 0票数 0

我正在做一个电子商务网站的推广部分。

我们有两种促销方式:

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

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

你可以看到,这两种晋升的前提条件是相似的。因此,我使用Promotion类来表示促销,使用PromotionRule类表示客户应该满足的前提条件。模型(用C#编写):

代码语言:javascript
复制
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 是个好名字吗?,因为我的英语不是很好。我不知道这个名字是否容易理解。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-09-26 19:52:56

...a PromotionRule类给出了客户应该满足的前提条件。

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

维基百科在业务规则下列举了几个例子

例如,业务规则可能会规定不对返回客户执行信用检查。商业规则的其他例子包括要求租赁代理人在信用评级太低时不允许租赁租户,或要求公司代理人使用首选供应商名单和供应时间表。

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

代码语言:javascript
复制
if( !isReturnCustomer ){
    PerformCreditCheck();
}

一条规则很容易有一个以上的条件,例如:

代码语言:javascript
复制
if( temperature < 0 && isRaining ){
    HandleFreezingRain();
}

因此,我建议在类封装多个条件时使用“规则”,如果对象只封装一个条件,则建议使用"PromotionCondition“。或者可能是一个PromotionRule类,它包含一个PromotionConditions集合。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12594653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档