다음을 통해 공유


단기 팩트 및 장기 팩트

규칙 엔진의 작업 메모리에는 단기 팩트와 장기 팩트라는 두 가지 유형의 사실이 어설션됩니다.

단기 팩트

단기 팩트는 규칙 엔진의 단일 실행 주기에 해당하며 정책이 실행된 후 규칙 엔진의 작업 중인 메모리에서 자동으로 제거됩니다. 정책에 대한 규칙 엔진 실행 주기 사이에서 데이터가 변경된 경우에는 데이터를 단기 팩트로 규칙 엔진에 제출해야 합니다.

단기 팩트의 예는 다음과 같습니다.

  • Policy.Execute 메서드에 매개 변수로 제출하는 팩트입니다.

  • 호출 규칙 셰이프에 매개 변수로 제출하는 팩트입니다.

  • Assert 함수를 사용하여 규칙의 작업에서 제출한 팩 입니다.

장기 팩트

장기 팩트는 규칙 엔진의 작업 중인 메모리에 로드하여 실행 주기 횟수에 관계없이 사용할 수 있습니다. 일반적으로 장기 팩트는 변경 속도가 느리지만 정책 실행 사이에서는 일반적으로 변경되지 않습니다. 예를 들어 데이터베이스 연결을 한 번 만든 다음 이 데이터베이스 연결을 계속 사용하여 정책을 여러 번 실행할 수 있습니다. 단기 팩트와 장기 팩트는 구현 시에만 실제로 구별됩니다.

팩트를 장기 팩트로 제출하려면 다음 단계를 수행해야 합니다.

  1. IFactRetriever 인터페이스를 구현하는 팩트 검색기 구성 요소를 만듭니다. UpdateFacts 메서드가 처음으로 호출될 때 규칙 엔진의 작업 메모리에 팩트를 만들고 어설션하고 UpdateFacts 메서드의 후속 호출에 필요한 경우 팩트를 업데이트합니다.

  2. 비즈니스 규칙 작성기를 사용하여 팩트 검색기 구성 요소를 사용하는 정책을 구성합니다.

    팩트 검색기를 만들고 정책에서 사용하는 방법에 대한 자세한 내용은 Fact Retriever를 만드는 방법을 참조하세요.

참고 항목

팩트