Вопрос

Бизнес, в котором я работаю, — это интернет-торговля. В настоящее время я работаю над проектом, который, среди прочего, включает в себя расчет потребительских цен на продукты.Вероятно, мы создадим сервис, который будет выглядеть примерно так...

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

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

Не волнуйтесь, это будет выглядеть не совсем так, но общую идею вы уловили.В нашей реализации этой услуги будет ряд правил расчета этой цены, эти правила могут меняться довольно часто, и что мы, вероятно, захотим когда-нибудь сделать, так это создать своего рода DSL для этих правил.Однако на данный момент мы не совсем уверены, какие изменения на самом деле будут запрошены отделом продаж и т. д., поэтому я подумываю о размещении DLR и о наличии файла сценария Iron Python или Iron Ruby, который содержит большую часть расчета цен.Таким образом, мы можем быстро обновить правила расчета цен, а также понять, какой тип DSL нужен деловым людям.Звучит ли это вообще как разумная идея, а также есть ли у кого-нибудь ссылки на статьи/руководства о том, как разместить DLR и позволить файлам сценариев взаимодействовать с CLR-объектами и возвращаемыми значениями?

Это было полезно?

Решение

Мне это определенно кажется здравой идеей.Вы можете легко получить доступ к внутренним компонентам CLR (объектам и возвращаемым значениям) из IronPython, я не знаю о IronRuby.Главы 1 и 7 IronPython в действии доступны в Интернете и, вероятно, будут полезны.На сайте также доступен учебник по стилю «привет, мир». изучение питона блог.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top