Flash是反应式编程吗?

Flash是反应式编程吗?,flash,reactive-programming,Flash,Reactive Programming,Flash看起来像一个反应式应用程序吗 例如,Elm语言是反应式的,使用Flash,我们可以创建与Elm相同的应用程序,但不是以功能方式,所以它是反应式的还是非反应式的?基于我对反应式编程的理解,我浏览了关于它的文章 例如,在命令式编程设置中,a:=b+c意味着在计算表达式的瞬间,a被分配b+c的结果。稍后,可以更改b和c的值,而不会影响a的值 在反应式编程中,a的值将根据新值自动更新 ActionScript3可以通过实现getter和setter被认为是“被动的”,例如 public cla

Flash看起来像一个反应式应用程序吗


例如,Elm语言是反应式的,使用Flash,我们可以创建与Elm相同的应用程序,但不是以功能方式,所以它是反应式的还是非反应式的?

基于我对反应式编程的理解,我浏览了关于它的文章

例如,在命令式编程设置中,
a:=b+c
意味着在计算表达式的瞬间,
a
被分配
b+c
的结果。稍后,可以更改
b
c
的值,而不会影响
a
的值

在反应式编程中,
a
的值将根据新值自动更新

ActionScript3可以通过实现getter和setter被认为是“被动的”,例如

public class Main
{
    public var b:int = 1;
    public var c:int = 1;

    public function get a():int
    {
        return b + c;
    }
}
其中,值
a
根据
b
c
的不同而不同

var main:Main = new Main();
trace(main.a); // 2

main.b = 5;
trace(main.a); // 6

基于我对反应式编程的理解,我浏览了关于它的文章

例如,在命令式编程设置中,
a:=b+c
意味着在计算表达式的瞬间,
a
被分配
b+c
的结果。稍后,可以更改
b
c
的值,而不会影响
a
的值

在反应式编程中,
a
的值将根据新值自动更新

ActionScript3可以通过实现getter和setter被认为是“被动的”,例如

public class Main
{
    public var b:int = 1;
    public var c:int = 1;

    public function get a():int
    {
        return b + c;
    }
}
其中,值
a
根据
b
c
的不同而不同

var main:Main = new Main();
trace(main.a); // 2

main.b = 5;
trace(main.a); // 6

虽然我没有使用Flash,但我可以告诉您什么是反应式编程(也称为数据流编程)。假设我们有两个方程:

c = a + b
d = c + e
如果我们从a=1,b=2和e=3开始,那么最初‘c’的值是1+2=3,而‘d’是3+3=6。如果“a”的值后来更改为10,则“c”的新值为10+2=12,“d”为12+3=15

当“c”或“e”的值发生变化时,“d”的值会自动更新。在整个程序中,所有数据流变量都以这种方式运行,因此您不必担心有旧值。您可能会看到数据流和电子表格的相似之处。数据流变量的值是此时的值,而不是过去某个时间的值

数据流变量对不断变化的数据作出“反应”

另一个例子是将变量设置为当前时间。每次访问该变量时,它都将返回当前时间,而不是第一次设置的时间

所有这些都是在程序员没有显式更新变量值的情况下发生的,数据流系统会处理更新


关于术语的说明。。。“反应式编程”只是“数据流编程”的现代术语,但它们都是一回事。使用“数据流”作为搜索词可能会更容易。

虽然我没有使用Flash,但我可以告诉您什么是反应式编程(也称为数据流编程)。假设我们有两个方程:

c = a + b
d = c + e
如果我们从a=1,b=2和e=3开始,那么最初‘c’的值是1+2=3,而‘d’是3+3=6。如果“a”的值后来更改为10,则“c”的新值为10+2=12,“d”为12+3=15

当“c”或“e”的值发生变化时,“d”的值会自动更新。在整个程序中,所有数据流变量都以这种方式运行,因此您不必担心有旧值。您可能会看到数据流和电子表格的相似之处。数据流变量的值是此时的值,而不是过去某个时间的值

数据流变量对不断变化的数据作出“反应”

另一个例子是将变量设置为当前时间。每次访问该变量时,它都将返回当前时间,而不是第一次设置的时间

所有这些都是在程序员没有显式更新变量值的情况下发生的,数据流系统会处理更新


关于术语的说明。。。“反应式编程”只是“数据流编程”的现代术语,但它们都是一回事。使用“数据流”作为搜索词可能会更容易。

在这种情况下,如果我没有弄错你的解释,我会假设flash不是反应性的。另外,谢谢你的全面解释。你能提供一些这种反应式(数据流)应用程序的真实例子的链接吗?RxJava或Scala-Akka呢?在“Scala中的反应式编程”课程中,他们认为是反应式的,但你应该明确地设置行为,例如onComplete、onSuccess、onError等。这是否意味着反应式术语变得更广泛了?我认为它变得更广泛了,看看你是不是指Coursera上的“反应式编程原则”,然后他们使用演员。参与者是数据流的一种形式,因为他们对传入的数据做出反应。对Actor模型的一个过于简单的解释是,对象只有一个输入来接受消息的是OOP(而不是直接调用方法的OOP)。参与者可以自由创建(并使用)其他参与者,或者向其知道的外部参与者发送消息。这与经典数据流不同,在经典数据流中,节点之间的链接是由程序员在设计时显式设置的。一些数据流示例:my blog(),,在这种情况下,如果我理解正确,我会假设flash不是反应性的。另外,谢谢你的全面解释。你能提供一些这种反应式(数据流)应用程序的真实例子的链接吗?RxJava或Scala-Akka呢?在“Scala中的反应式编程”课程中,他们认为是反应式的,但你应该明确地设置行为,例如onComplete、onSuccess、onError等。这是否意味着反应式术语变得更广泛了?我认为它变得更广泛了,看看你是不是指Coursera上的“反应式编程原则”,然后他们使用Act