2014-07-15 7 views
2

현재 응용 프로그램에는 if-else 형태의 규칙이 있으며 일부 변수 집합을 수정하거나 다른 변수를 설정/해제하기 위해 일부 매개 변수에서 작동하는 조건문이 있습니다. 우리가 증가하고있는 클라이언트로 인해, 이제 응용 프로그램 코드는 에이 흩어져있는 if-else 규칙이 적용됩니다. 또한,이 규칙은 꽤 자주 변경됩니다. 은 바뀌 었습니다.이 수정되었는데, 일부는 만료되도록 설정되었습니다. JSR094를 기반으로하는 drools 등은 애플리케이션 소스 코드에서 로직/규칙을 분리하는 기능을 제공합니다.컴파일/배포 프로세스없이 응용 프로그램에서 논리/비즈니스 규칙을 구현합니까?

내 요구 사항이 복잡하지 않고 복잡한 규칙 시각화 소프트웨어, UI 편집 등을 필요로하지 않지만 동적 인 (수정/편집 가능한 규칙) 확실히 필요합니다. 또한 요구 사항이 100 억 개가 넘는 요청을 처리 할 때 대기 시간이 짧아야합니다. 하루.

가벼운 무게 구현에 대한 아이디어는 내가 잠꼬대를 느낄 때 이것을 해결할 수 있습니까?

개발을위한 내 플랫폼은 Java입니다. 예 규칙 :

if (age > 15 && item belongs_to(footwear) || using(mobile_device)) 
     discount = 2% 
+1

Drools는 이것을 구현하는 데 완벽 할 것입니다. –

+1

그래서 규칙 엔진의 장점을 원하지만 규칙 엔진을 사용하고 싶지는 않을 것이라고 말하고 있습니다. 최종 결과는 자신의 구현 일 것입니다. – Kayaman

답변

0

난 강력하게 당신이 당신이 그 용액을 이용하여 마음에 들지 않으면, 당신은 항상 당신이 구문 분석 할 수 있도록 어떤 식 평가 라이브러리를 찾을 수 있습니다 ... 적절한 규칙 엔진이 샘, flexrule을 사용하는 것이 좋습니다 문자열 기반 표현을 실행합니다.

+1

거기 트위터, 페이스 북 등 생산에 졸음을 사용하는 주요 기업의 목록은 무엇입니까? 더 많은 규칙과 역 동성 (규칙 편집)을 통해 확장/성능을 설명하는 백서? – hershey92

+0

복잡한 비즈니스 도메인이있는 경우 그러한 목록을 알지 못합니다. 헬스 케어, 재고, 금융 또는 규정을 준수해야하는 시스템의 경우 비즈니스 규칙 접근 방식이 적합합니다. 또는 다른 용도는 변경 가능한 시스템을 유연하게 만들 수 있습니다. 즉, 더 구성 가능하고 적응력이 뛰어나고 해당 산업을 살펴볼 수 있습니다. 또한 [여기] (http://www.flexrule.com/archives/business-rule-engine-bre/)에서는 규칙 유형 간의 차이점을 설명합니다. 규칙 실행의 성능 및 확장 성은 규칙을 복잡하게하고 규칙을 실행하는 데 사용하는 알고리즘에 달려 있습니다. –

+0

일부 사용자가이 대답을 좋아하지 않는 이유를 잘 모르겠지만 여기에 동적으로 식을 평가하는 방법이 있습니다. http://stackoverflow.com/questions/53844/how-can-i-evaluate-ac-sharp-expression-dynamically 무거운 패턴 매칭을하지 마라. Drools는 과장이다. 상업용 버전을 사용한 경우이 [video] (https://www.youtube.com/watch?v=vXIDYl7D1Rc)도 확인할 수 있습니다. (면책 조항 : FlexRule에서 근무하고 있습니다.) –