定义规则接口
规则实现
规则组(可以根据业务场景 定义规则组)
规则引擎,并发执行多个规则或者串行执行,通过Context上下文,将每个规则执行的结果放到上下文中
可以使用流程引擎,支持规则的复用
class RuleContext{
List
}
class RuleResult{
private boolean pass;
private String ruleName;
private Strng errorCode;
}
interface Rule{
String name();
boolean before( RuleContext ruleConetxt)
RuleResult execute(RuleContext ruleConetxt)
}
enum RuleGroup{
List
}
interface RuleEngine{
List
}
class RuleEngineImpl imlements RuleEngine{
List
//通过spring容器根据ruleNames 获取所有的实例
然后可以使用并发框架执行,将所有的具体校验业务放到具体的规则实现中
然后将规则执行结果放到RuleContext中
}
}
针对一些规则校验,商户签约,商品等一些属性规则校验,可以把具体的规则当作基础能力
比如创建一个商品集合,可以在页面上设置一些筛选条件,然后根据这些筛选条件把满足条件的商品进行过滤。



