策略模型的实现和优化,集思广益
问题的提出:系统中存放一些Policy,每个Policy定义了一组条件。进入一个请求,要求根据请求返回满足条件的所有Policy。
例:
条件A,B,C。
Policy可能出现的条件约束:
P1. 只要满足A
P2. 只要满足B
P3. 只要满足C
P4. 只要同时满足A,B
P5. 只要同时满足A,C
P6. 只要同时满足B,C
P7. 同时满足A,B,C
例如:(‘-‘表示any value is ok)
Policy A B C
P1 a1 - -
P2 a1 - c1
P3 a1 b1 -
P4 - b1 c1
P5 a1 b1 c1
P6 - b1 -
P7 - - c1
P8 a2 - -
P9 - b2 -
P10 - - c2
P11 a1 b3 -
业务上可能出现的查询以及相应:
a1:返回P1
b1:返回P6
c1:返回P7
a1,b1:返回P1,P3,P6
a1,c1:返回P1,P3,P5
b1,c1:返回P6,P7,P4
a1,b1,c1:返回P1,P2,P3,P4,P5,P6,P7