Я занимаюсь созданием прототипа механизма правил, который поможет нам с нашими порталами заказов. Например, предоставление скидок на товары или требование одобрения при заказе определенных товаров. Мы также хотели бы иметь возможность добавлять правила для сумм в долларах, позиций пользователей в иерархии и применять их к одному или нескольким клиентам.
Я чувствую, что WWF является хорошим ответом на эту потребность.
Все это говорит о том, что мне немного трудно понять, как лучше настроить некоторые из более сложных правил. У меня есть «условие», которое, как мне кажется, лучше всего описать в запросе LINQ, например:
var y = from ol in currentOrder.OrderLines where ol.ItemCode == "MYITEMCODE" select ol;
Я не против использования другого фреймворка для механизма правил или добавления дополнительных свойств/методов к нашим объектам (например, OrderHasItem(ItemCode)
и т. д.), чтобы сделать эти правила более простыми, но я хотел бы избежать этого. Это кажется обреченным на провал, поскольку заставляет нас пойти по пути потенциального требования изменений кода для новых правил.