何时使用规则引擎?

并非所有应用程序都应使用规则引擎。如果业务逻辑代码包括很多 if-else 语句,则应考虑使用一个规则引擎。维护复杂的 Boolean 逻辑可能是非常困难的任务,而规则引擎可以帮助您组织该逻辑。当您可以使用声明方法而非命令编程语言表达逻辑时,变化引入错误的可能性会大大降低。

如果代码变化可能导致大量的财政损失,则也应考虑规则引擎。许多组织在将已编译代码部署到托管环境中时具有严格的规则。例如,如果需要修改 Java 类中的逻辑,在更改进入生产环境之前,将会经历一个冗长乏味的过程:
  1. 必须重新编译应用程序代码。
  2. 在测试中转环境中删除代码。
  3. 由数据质量审核员检查代码。
  4. 由托管环境架构师批准更改。
  5. 计划代码部署。

即使对一行代码的简单更改也可能花费组织的几千美元。如果需要遵循这些严格规则并且发现您频繁更改业务逻辑代码,则非常有必要考虑使用规则引擎。

对客户的了解也是该决策的一个因素。尽管您使用的是一个简单的需求集合,只需 Java 代码中的简单实现,但是您可能从上一个项目得知,您的客户具有在开发周期期间甚至部署之后添加和更改业务逻辑需求的倾向(以及财政和政治资源)。如果从一开始就选择使用规则引擎,您可能会过得舒服一些。

你可能感兴趣的:(编程)