需求分析与建模61 条

业务规则与决策表

业务规则是“在什么条件做什么决定”的约束,散落在代码里会难以变更;用决策表或决策树把条件与动作显式列出来,便于与业务逐格确认。

决策表示例(折扣规则)

客户等级订单金额是否大促动作
VIP任意任意折扣 9 折
普通满 1000是折扣 95 折
普通满 1000否无折扣
普通不足 1000任意无折扣
决策表要显式规定条件组合的优先级与冲突处理,否则实现者各自解读边界情况。

易错点

  • 规则散落在多个服务的 if-else 中,同一策略修改要改多处
  • 用规则引擎承载全部逻辑,调试与测试成本反而上升

数据来源与参考

  • OMG DMN 决策模型与符号规范
  • 《软件架构:架构模式、特征及实践指南》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌