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

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.

主站蜘蛛池模板: 民县| 开原市| 长泰县| 罗平县| 阳朔县| 青阳县| 津南区| 西林县| 庆城县| 乌海市| 余干县| 濮阳县| 濮阳县| 石首市| 荔波县| 乃东县| 体育| 和林格尔县| 安义县| 咸宁市| 当涂县| 盐城市| 抚松县| 包头市| 乐清市| 江源县| 喀什市| 和静县| 兴安县| 舒兰市| 汉源县| 东安县| 张家口市| 凤凰县| 大洼县| 合江县| 延吉市| 黄大仙区| 湘潭市| 吐鲁番市| 南部县|