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

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.

主站蜘蛛池模板: 靖州| 苍溪县| 南江县| 芷江| 璧山县| 阜新市| 寿光市| 惠州市| 民乐县| 钟祥市| 新源县| 兴隆县| 常山县| 阿鲁科尔沁旗| 金川县| 九寨沟县| 金门县| 台前县| 福贡县| 盐池县| 天长市| 辉南县| 浦东新区| 汕尾市| 南安市| 中阳县| 贵南县| 金塔县| 武鸣县| 增城市| 乐平市| 靖安县| 寿阳县| 廉江市| 托克托县| 库车县| 宁明县| 和顺县| 蓝山县| 福建省| 临夏县|