이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 54363|회답: 1

[출처] .NET/C# 규칙 엔진 규칙엔진 튜토리얼

[링크 복사]
게시됨 2021. 3. 29. 오후 1:56:10 | | | |
RulesEngine은 비즈니스 로직/규칙/정책을 시스템에서 추상화하는 데 사용되는 라이브러리/NuGet 패키지입니다. 이 방법은 시스템의 핵심 논리 외부에 규칙을 저장할 수 있게 하여 규칙 변경이 핵심 시스템에 영향을 미치지 않도록 하는 매우 간단한 방식으로 작동할 수 있습니다.

적용 가능한 시나리오:

  • 입력 및 출력 유형의 수는 비교적 고정되어 있지만, 실행 논리는 자주 변경됩니다.
  • 스위치 조건은 자주 변하며, 복잡한 스위치 문은 교체됩니다;
  • 여러 조건이나 규칙이 변경되는 비즈니스 로직;
  • 규칙 자유가 특별히 높은 자유도를 요구하지 않는 시나리오입니다. (이 경우 스크립팅 엔진을 권장합니다)


RulesEngine의 규칙은 JSON 형식으로 저장되며, 규칙(Rules)은 람다 표현식으로 표현됩니다.

GitHub 주소:하이퍼링크 로그인이 보입니다.

문서 주소:하이퍼링크 로그인이 보입니다.(개인적으로는 문서가 다소 모호하고, 일부 사용법이 명확하게 설명되지 않은 것 같다고 생각합니다)

먼저, 새로운 .NET Core 3.1 콘솔 프로젝트를 만들고 nuget 명령어를 사용해 패키지를 설치하세요. 방법은 다음과 같습니다:

출력 디렉터리로 복사하도록 설정:Rules.json 새 규칙 파일을 만듭니다.

구성은 다음과 같습니다:

프로그램을 실행해 보면 출력은 다음과 같습니다:



customTest 워크플로우는 규칙을 검증하기 위해 C# 함수를 호출합니다. RulesEngine 객체를 인스턴스화할 때는 C# 메서드를 정상적으로 실행하려면 ReSet을 추가해야 합니다.

그중에는,검증 집합은 이해하기 더 추상적입니다는 localParams를 사용하며, local 변수의 키워드는 localParams로, 간단히 var name = expression으로 이해할 수 있습니다

전체 코드는 다음과 같습니다:

소스 코드 다운로드:

관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다회답






이전의:리눅스 사진에서 .NET 코어 워터마킹 문제
다음:.NET은 기본 SDK 버전을 설정합니다
 집주인| 게시됨 2023. 8. 30. 오후 6:51:41 |
규칙 엔진 편집기:하이퍼링크 로그인이 보입니다.
룰 엔진 에디터 온라인 데모:하이퍼링크 로그인이 보입니다.

면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com