关于规则引擎有感而发。
笔者认为规则引擎是为了弥补静态编译型语言的不足。规则引擎主要用来承载动态业务逻辑,静态语言一旦编译后就只能按固定的条件执行,再修改某个条件后要重新编译才能生效。既然这样,在做业务的时候就可以将动态语言执行引擎集成到静态语言当中,例如在 Java 中执行 Groovy 来做规则引擎,在 Rust 中执行 Lua 来做规则引擎。而 PHP、Python、NodeJS 并不需要规则引擎,其本身就是动态的。 使用动态语言来做规则引擎比规则引擎框架更具备灵活性。
以上内容仅一家之言,不作参考标准。