Class RuleEvaluator
IRuleEvaluator 구현체. string ruleId 키로 ISpecification<T> 등록 및 평가.
public class RuleEvaluator : IRuleEvaluator
- Inheritance
-
objectRuleEvaluator
- Implements
Remarks
규칙은 object로 저장 후 Evaluate 시 ISpecification<T>로 캐스팅. 미등록 ruleId 또는 T 타입 불일치 시 예외 없이 false 반환. 규칙 조합은 SpecificationExtensions(.And/.Or/.Not)으로 Register 전에 처리한다.
Methods
Evaluate<T>(string, T)
등록된 규칙으로 대상 평가.
public bool Evaluate<T>(string ruleId, T target)
Parameters
ruleIdstring평가할 규칙 키. 미등록 시 false 반환.
targetT평가할 대상.
Returns
- bool
조건 만족 여부. 미등록 ruleId면 false.
Type Parameters
T평가 대상 타입.
Register<T>(string, ISpecification<T>)
규칙 등록. 동일 ruleId 존재 시 덮어쓴다.
public void Register<T>(string ruleId, ISpecification<T> spec)
Parameters
ruleIdstring규칙 식별 키.
specISpecification<T>평가에 사용할 Specification.
Type Parameters
T평가 대상 타입.