我想把它称为副作用编程,但对此有一个更好的术语

时间:2011-03-28 07:32:16

标签: dependencies paradigms declarative imperative

以下编程范例的名称是什么:

代码基于一组解析为true的逻辑测试(该子句)执行。该子句由运算符和操作数组成。每个操作数都是一个值/对象。

不是像命令式语言那样明确地评估子句(例如,像if(){}这样的正常流控制),而是声明该子句并将其绑定到结果代码。当满足该子句时,在将来的任何时候,代码都将执行。

因此,它基本上是一个依赖树,它重新评估代码是否应该在依赖项改变状态时执行。

如,

when(a && b && c < 3 && d.changes())
{
  runThisCode();
}

我正在寻找一个更正式的名称和定义,搜索后我没有想出任何东西。它介于声明和命令之间,但我从未见过让人们这样做的语言或范例。

谢谢, 肖恩

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

对我来说听起来像Rule engine。例如。在Jess中,您可以定义此类声明性规则,并调用命令式或面向对象的Java代码。