【发布时间】:2011-01-14 18:33:55
【问题描述】:
很快,我将从事一个项目,该项目本质上是一个用于配置产品的电子商务应用程序。这个问题是关于实现每天都在变化的定价方案的方法,因此我们希望将定价逻辑从代码中提取到数据库中,但不是以一种导致数据库完成所有工作的方式。
基本思路是这样的,有5个属性。您从这些属性中的每一个中选择一个选项。然后您开始将产品添加到您的购物车。您添加的所有产品都将附加这 5 个属性(这些属性会影响定价)。添加产品后,您可以对其应用修改(属性也将应用于修改)。
所以,我们现在得到的是一个产品(它有一个固定的底价),它有一些关于它的信息(这将修改价格),以及零个或多个修改(它有一个固定的价格)和有关它们的一些信息(这将修改价格)。修改也可能产生额外费用。例如,如果 A 公司使用该软件并且他们使用以下方式为他们的商品定价:BASE_PRICE + $50 * NUM_WHIRLIGIGS 并且该商品有一个添加了 WHIRLIGIG 的修改,则必须在价格中反映出来。
您知道我在确定如何设置时可能会发现有用的不同定价系统的任何示例吗?你有更好的想法吗?
我目前最好的想法如下,如果你对方法的细节不感兴趣,只想得到答案,你可以跳过它!
对于任何给定的项目(或项目集合),公司可以使用一个特殊的界面来设置定价公式,然后在运行时对其进行解释和评估。
因此,对于 PRODUCT_A,公司可能会投入类似 BASE_PRICE + WHIRLIGIG_UPCHARGE * NUM_WHIRLIGIGS 的费用。而软件在定价时会查看该物品有多少 WHIRLIGIGS,以及通过任何修改添加了多少 WHIRLIGIGS。
有人有实现这种解释器的经验吗?后来如何?困难/麻烦吗?
在此先感谢您提供的所有精彩输入,我一定会收到的。 :P
【问题讨论】:
标签: interpreter configurable-product