당신이 염두에두고있는 규칙의 종류에 따라 다릅니다. 데이터베이스 기반 접근 방식은 구조가 동일하고 특정 '매개 변수'에 따라 달라지는 규칙이 많은 경우 의미가 있습니다. 이 경우 단일 일반 규칙을 작성하고 데이터베이스를 사용하여 적용되는 모든 조합을 저장할 수 있습니다. 예를 들어 주문에 대해 국가 별 배송비를 계산하는 규칙이 있다고 가정 해 보겠습니다. 각 CountryShippingRate
한 국가의 비율을 지정합니다
rule "Shipping rates to France"
when
$order : Order(country == 'fr')
then
$order.setShippingRate(10.0);
update(order);
end
// Similar rules for other countries…
당신은 당신의 데이터베이스에서 이러한 규칙 데이터를 대체 할 수 있습니다. 그런 다음 같은 사실 규칙 세션에서 개체 및 단일 규칙으로 CountryShippingRate
모든 행 삽입 : 실제로
rule "Shipping rates"
when
$order : Order($country : country)
CountryShippingRate($rate : rate, country == $country)
then
$order.setShippingRate($rate);
update(order);
end
를, 그것은 의사 결정 테이블 유형 규칙의 많은이 방법을 다시 작성할 수 있습니다 것으로 나타났다.
10 회 upvote 할 수 있으면 좋겠다. –
@Peter Hilton이 질문을보십시오. 감사합니다 http://stackoverflow.com/questions/26322576/stop-rules-on-update-facts-drools – Kumar