drools 규칙을 작성할 때, 검사를 더 많은 규칙으로 분리하거나 'then'부분에 더 많은 if를 갖도록 하나의 규칙으로 그룹화합니까? 관리 문제는 고려하지 않고 성능 (예 : 실행 시간, 메모리 사용)을 고려해야합니다.Drools 규칙을 분리하거나 그 결과가 더 많습니까?
나는 조건과 물건이 90 % 유사하고 각각 10 % 만 남겨진 여러 가지 작업이 있다고 가정 해보십시오. 당신은
rule A
when (90% conditions) and (task 1 or task 2 or task n)
then
if (10% conditions for task 1) ...(10% stuff-to-do for task 1)
else if (10% conditions for task 2) ...(10% stuff-to-do for task 2)
else if (10% conditions for task n) ...(10% stuff-to-do for task n)
(90% common stuff-to-do)
end
또는
rule B-1
when (90% conditions) and (10% conditions for task 1)
then
(90% common stuff-to-do) + (10% stuff-to-do for task 1)
end
rule B-2
when (90% conditions) and (10% conditions for task 2)
then
(90% common stuff-to-do) + (10% stuff-to-do for task 2)
end
rule B-n
when (90% conditions) and (10% conditions for task n)
then
(90% common stuff-to-do) + (10% stuff-to-do for task n)
end
감사합니다 쓰기 마세요!
그래서 좀 더 미세한 규칙이 Drools에서 더 우수하다는 것을 알았습니다. – user1589188
고려해야 할 추가 항목은 유사한 규칙을 많이 사용하여 코드베이스가 복잡해 졌다고 생각할 때 고려해야 할 가치가있는 항목입니다. 간단한 DSL 또는 의사 결정 테이블 작성. – Steve