官术网_书友最值得收藏!

What is reactive programming?

Reactive programming is an asynchronous programming paradigm that revolves around data streams and the propagation of change. In simpler words, those programs which propagate all the changes that affected its data/data streams to all the interested parties (such as end users, components and sub-parts, and other programs that are somehow related) are called reactive programs.

For example, take any spreadsheet (say the Google Sheet), put any number in the A1 cell, and in the B1 cell, write the =ISEVEN(A1) function; it'll show TRUE or  FALSE, depending on whether you've entered an even or odd number. Now, if you modify the number in A1, the value of B1 will also get changed automatically; such behavior is called reactive.

Not clear enough? Let's look at a coding example and then try to understand it again. The following is a normal Kotlin code block to determine if a number is even or odd:

    fun main(args: Array<String>) { 
      var number = 4 
      var isEven = isEven(number) 
      println("The number is " + (if (isEven) "Even" else "Odd")) 
      number = 9 
      println("The number is " + (if (isEven) "Even" else "Odd")) 
    } 
 
    fun isEven(n:Int):Boolean = ((n % 2) == 0) 

If you check the output of the program, then you'll see that, although the number is assigned a new value, isEven is still true; however, if isEven was made to track changes of the number, then it would automatically become false. A reactive program would just do the same.

主站蜘蛛池模板: 大同县| 龙游县| 文安县| 金阳县| 陵水| 娄烦县| 景宁| 峨眉山市| 马尔康县| 赤壁市| 洞口县| 江油市| 拜城县| 五指山市| 东乌珠穆沁旗| 奉化市| 西丰县| 乌什县| 峡江县| 双柏县| 嵊州市| 鹤庆县| 清苑县| 兖州市| 普兰店市| 汉沽区| 开封市| 正安县| 厦门市| 瓦房店市| 广水市| 蒙城县| 盐亭县| 兴文县| 剑川县| 铜川市| 黄大仙区| 闵行区| 金堂县| 台南县| 家居|