2009-04-21 4 views
0

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

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 и возвращать значения?

ответ

1

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

+0

Yay, я вменяю! ;-) Спасибо за то, что указали мне на эти ресурсы, я просто благодаря этой электронной книге, кажется, включает все, что мне нужно знать. У меня такое ощущение, что Ruby лучше будет создавать DSL, но я знаю немного о Ruby и Python. –