2012-02-06 7 views
3

델파이 애플리케이션에서 매우 복잡한 비즈니스 규칙 (보험)을 자동화해야합니다. 현재까지 우리는이 규칙을 외부에서 유지하기 위해 스크립팅 엔진을 사용했지만 (많은 if/then/else 유형 구문), 유지 보수가 어렵고 테스트가 불가능 해졌으며 최종 사용자에게이를 검증하기가 어렵습니다.델파이의 로직 자동화

내가 본 대부분의 공식 규칙 엔진은 Delphi (현재 D2007을 사용 중이지만 올해 64 비트 XE2로 이동할 계획 임)와 잘 통합되지 않습니다.

누구든지 제품을 알고 있습니까? 아니면 도움이 될만한 제품이나 기술을 사용하고 있습니까?

+3

솔루션 (스크립팅 엔진)이 좋은 도구라고 생각합니다. 테스트 및 유지 보수 작업을해야 할 수도 있습니다. – philnext

+1

나는 State Patern을 구현해야한다고 생각한다. - http://en.wikipedia.org/wiki/State_pattern –

+1

Eric의 [Domain-Driven Design] (http://domaindrivendesign.org/books) Evans – mjn

답변

1

공통 지식을 Object Connections으로 살펴보십시오. 나는 그런 경험이 없다.

+0

Google에서 이것을 보지 못했습니다 ... 평가 중이며 매우 강력합니다. 내 문제를 확실히 해결합니다. 그냥 내 도구 상자에 추가하는 것을 정당화 할 수 있는지 확인해야합니다 .... –

+0

이 솔루션을 사용하기로 결정했습니다. 필자가 필요로하는 것 이상으로 많은 일을하지만, 규칙을 의사 결정 테이블로 변환하고 SDK를 사용하여이를 내 Delphi 응용 프로그램에 통합하고 기본 테스트 스위트를 구성하는 데 약 4 시간 밖에 걸리지 않습니다. –

+0

반가워요. 이 질문을 귀하가 수락 한 답변으로 표시하십시오. –

0

RemObjects SDK (직접 데이터베이스 액세스가 필요한 경우 DataAbstract)을 살펴보십시오. 두 서버와 클라이언트 쪽 모두 허용합니다 scripting.

우리는 Databastract를 대성공으로 사용했습니다.

+1

비즈니스 도메인 및 복잡성에 대해 자세히 알려줄 수 있습니까? 고맙습니다. – menjaraz

2

스크립트는 실제로 변경 될 가능성이있는 비즈니스 논리의 부분을 처리하는 좋은 방법입니다.

그러나 문제는 적절한 개체 모델이 없다는 것입니다. 많은 IF가 있다는 것은 당신이 중앙 집중식 논리를 가지고 있다는 것을 나타냅니다. 그리고 결정은 당신이 모두 점검하고 끝내야 할 많은 요인들에 달려 있습니다.

이것은 개체로 작업하는 대신 직접 데이터로 작업하는 경우의 증상입니다. 데이터를 직접 조작 할 때는 적용되는 모든 규칙을 알아야합니다.

나는 항상 모델 중심 솔루션을지지합니다. 적절하게 설계된 객체 모델을 사용하면 모델의 클래스간에 책임이 분산되어 핫스팟이 제거됩니다. 이는 Single responsibility principleDon't repeat yourself에 해당합니다.

물론 도전 과제는 문제 도메인을 모델링하는 것이지만, 그 것이 내가 탐구하는 것이 좋습니다.

+0

+1. 나는 객체 지향 모델링을 옹호하는 것에 완전히 동의한다. – menjaraz