2011-01-16 2 views
2

하나의 질문에 대한 각각의 대답이 완전히 다른 결과를 초래할 수있는 질문 서 엔진을 구현해야합니다.C#의 복잡한 if/else 문제에 대한 라이브러리/알고리즘

그래서 10 개의 질문으로 10 개의 답을하면 10 개의 가능성을 가질 수 있습니다.

는 ... 그래서

내가 추측 스크립트-AI 같은 것을해야한다, 나는이 같은 문제에 대한 규칙 엔진의 종류 또는 구현 방법을 사용해야합니까?

이런 종류의 알고리즘이 너무 간단하다고 생각하십니까?

if (x==1) 
    if (y==1) 
    { 
    if (z==1 || z==2) 
     // do sth 
    if (z==3) 
     // do sth different 
    } 

감사합니다.

답변

4

"규칙 엔진"의이 형식을 구현하는 데 사용할 수있는 라이브러리가 있습니다.

예를 들어 Windows Workflow Foundation을 사용하면 FlowDecision activities 및 기타 관련 클래스를 통해 기본 규칙을 결정할 수 있습니다.

다른 대안은 규칙 엔진 (예 : Drools.Net)입니다.

위와 같은 단순한 루틴에서는 많은 기준을 피하기 위해 알고리즘을 리팩터링하는 것이 좋습니다. 이것을 여러 가지 방법으로 밀어 넣으면 훨씬 쉽게 따라갈 수있는 일련의 깨끗한 조건을 만들 수 있습니다.