0

我工作的企业是一家在线零售商,我目前正在从事一个项目,其中包括计算产品的客户价格。我们可能会创建一个看起来像...的服务

public interface IPriceService
{
  decimal CalculateCustomerPrice(ISupplierPriceProvider product);
}

public interface ISupplierPriceProvider
{
    decimal SupplierPrice { get; }
    string Currency { get; }
}

不用担心它看起来不会完全一样,但是您会明白总体思路。在我们实施这项服务的过程中,将有许多计算这个价格的规则,这些规则可以经常改变,我们可能想要做的是为这些规则创建某种 DSL。目前,虽然我们不太确定销售部门等实际会要求进行哪些更改,所以我正在考虑托管 DLR 并拥有一个包含大量价格计算的 Iron Python 或 Iron Ruby 脚本文件。通过这种方式,我们可以快速更新价格计算规则,也可以了解业务人员需要什么类型的 DSL。

4

1 回答 1

1

对我来说,这绝对是一个明智的想法。您可以从 IronPython 轻松访问 CLR 内部(对象和返回值),我不了解 IronRuby。IronPython in Action的第 1 章和第 7 章可在线获取,可能会有所帮助。在学习 python博客上还有一个“hello world”风格的教程。

于 2009-04-21T19:43:49.613 回答