{"id":4536,"date":"2022-02-23T13:52:15","date_gmt":"2022-02-23T05:52:15","guid":{"rendered":"https:\/\/1989lifejourney.com\/?p=4536"},"modified":"2022-02-23T13:59:04","modified_gmt":"2022-02-23T05:59:04","slug":"reactive-programming","status":"publish","type":"post","link":"https:\/\/1989lifejourney.com\/?p=4536","title":{"rendered":"Reactive programming"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"\u5b9a\u7fa9\">\u5b9a\u7fa9:<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change. With this paradigm, it&#8217;s possible to express static (e.g., arrays) or dynamic (e.g., event emitters) data streams with ease, and also communicate that an inferred dependency within the associated execution model exists, which facilitates the automatic propagation of the changed data flow. (from <a href=\"https:\/\/en.wikipedia.org\/wiki\/Reactive_programming\">Wiki<\/a>)<\/p>\n\n\n\n<h1 class=\"has-medium-font-size wp-block-heading\" id=\"note\"><strong>Note:<\/strong><\/h1>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>\u4ee5\u4e00\u53e5\u8a71\u8aaa\u660eReactive programming:<br><\/strong>Reactive programming\u662f\u4e00\u7a2e\u5ba3\u544a\u5f0f\u7a0b\u5f0f\u8a2d\u8a08\u7bc4\u4f8b\uff0c\u5176\u529f\u80fd\u662f\u8b93\u4f5c\u70ba\u53c3\u6578\u7684data\u6539\u8b8a\u6642\uff0c\u81ea\u52d5\u50b3\u905e\u6539\u8b8a\u7684data flow\uff0c\u4f7f\u5f97\u6700\u7d42\u7d50\u679c\u503c\u4e5f\u8ddf\u8457\u6539\u8b8a\u3002<br>(p.s. \u7576\u53c3\u6578\u7684data\u6539\u8b8a\uff0c\u901a\u77e5\u6539\u8b8a\u7684\u65b9\u5f0f\u6709\u4e09\u7a2e: 1. Pull 2. Push 3. Push-Pull\u3002\u8a73\u7d30\u8aaa\u660e\u8acb\u53c3\u8003<a href=\"https:\/\/en.wikipedia.org\/wiki\/Reactive_programming#Change_propagation_algorithms\">Wiki<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u7bc4\u4f8b\">\u7bc4\u4f8b:<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1608\" height=\"878\" data-attachment-id=\"4543\" data-permalink=\"https:\/\/1989lifejourney.com\/?attachment_id=4543\" data-orig-file=\"https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/02\/e688aae59c96-2022-02-23-e4b88be58d881.53.06.png?fit=1608%2C878&amp;ssl=1\" data-orig-size=\"1608,878\" data-comments-opened=\"0\" data-image-title=\"e688aae59c96-2022-02-23-e4b88be58d881.53.06\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/02\/e688aae59c96-2022-02-23-e4b88be58d881.53.06.png?fit=1024%2C559&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/02\/e688aae59c96-2022-02-23-e4b88be58d881.53.06.png?resize=1608%2C878&#038;ssl=1\" alt=\"\" class=\"wp-image-4543\" \/><figcaption><strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Reactive_programming\">Wiki<\/a>\u4e0a\u89e3\u91cbReactive programming\u7684\u7bc4\u4f8b<\/strong><\/figcaption><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u5b9a\u7fa9: Reactive programming is a declarative programming p [&hellip;]<\/p>\n","protected":false},"author":139426785,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_postgate_lock_override":"inherit","_postgate_lock_mode":"inherit","_postgate_preview_mode":"inherit","_postgate_preview_limit":0,"_postgate_product_ids":[],"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[37324612,1],"tags":[],"post_folder":[],"class_list":["post-4536","post","type-post","status-publish","format-standard","hentry","category-ios-development","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paR5vw-1ba","jetpack-related-posts":[{"id":3895,"url":"https:\/\/1989lifejourney.com\/?p=3895","url_meta":{"origin":4536,"position":0},"title":"Functional Reactive Programming","author":"Kevin","date":"2 12 \u6708, 2021","format":false,"excerpt":"What is functional reactive programming (FRP)?FRP \u2026","rel":"","context":"\u5728\u300cIOS Development\u300d\u4e2d","block_context":{"text":"IOS Development","link":"https:\/\/1989lifejourney.com\/?cat=37324612"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4431,"url":"https:\/\/1989lifejourney.com\/?p=4431","url_meta":{"origin":4536,"position":1},"title":"Getting started with RxSwift","author":"Kevin","date":"16 2 \u6708, 2022","format":false,"excerpt":"\u4ee5\u4e0b\u8cc7\u6599\u53c3\u8003\u81eaRef\uff0c\u9019\u88e1\u50c5\u4f5c\u500b\u4eba\u5b78\u7fd2\u6574\u7406 Definition of ReactiveXAdvan\u2026","rel":"","context":"\u5728\u300cIOS Development\u300d\u4e2d","block_context":{"text":"IOS Development","link":"https:\/\/1989lifejourney.com\/?cat=37324612"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4426,"url":"https:\/\/1989lifejourney.com\/?p=4426","url_meta":{"origin":4536,"position":2},"title":"Imperative programming v.s. Declarative programming","author":"Kevin","date":"16 2 \u6708, 2022","format":false,"excerpt":"Imperative programming (\u6307\u4ee4\u5f0f\u7a0b\u5f0f\u8a2d\u8a08) \u5b9a\u7fa9:In computer sc\u2026","rel":"","context":"\u5728\u300cTechnology sharing\u300d\u4e2d","block_context":{"text":"Technology sharing","link":"https:\/\/1989lifejourney.com\/?cat=55138170"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":7176,"url":"https:\/\/1989lifejourney.com\/?p=7176","url_meta":{"origin":4536,"position":3},"title":"ChatGPT\u6e2c\u8a66 &#8211; how to become an iOS system architect","author":"Kevin","date":"7 3 \u6708, 2023","format":false,"excerpt":"\u4ee5\u4e0b\u70baChatGPT \u7684\u56de\u7b54\uff1a To become an iOS system architect,\u2026","rel":"","context":"\u5728\u300cTechnology sharing\u300d\u4e2d","block_context":{"text":"Technology sharing","link":"https:\/\/1989lifejourney.com\/?cat=55138170"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3917,"url":"https:\/\/1989lifejourney.com\/?p=3917","url_meta":{"origin":4536,"position":4},"title":"Objective-C\u548cSwift\u7684\u5171\u540c\u9ede\u8207\u4e0d\u540c\u9ede","author":"Kevin","date":"8 12 \u6708, 2021","format":false,"excerpt":"Objective-C\u548cSwift\u7684\u5171\u540c\u9ede\u8207\u4e0d\u540c\u9ede \u4ee5\u4e0b\u8cc7\u6599\u4f86\u81ea[ref]\u7db2\u9801\u5167\u5bb9\uff0c\u9019\u88e1\u7d14\u7cb9\u505a\u91cd\u9ede\u6574\u2026","rel":"","context":"\u5728\u300cIOS Development\u300d\u4e2d","block_context":{"text":"IOS Development","link":"https:\/\/1989lifejourney.com\/?cat=37324612"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4833,"url":"https:\/\/1989lifejourney.com\/?p=4833","url_meta":{"origin":4536,"position":5},"title":"Hash","author":"Kevin","date":"20 3 \u6708, 2022","format":false,"excerpt":"Definition: \u96dc\u6e4a\uff08\u82f1\u8a9e\uff1aHashing\uff09\u662f\u96fb\u8166\u79d1\u5b78\u4e2d\u4e00\u7a2e\u5c0d\u8cc7\u6599\u7684\u8655\u7406\u65b9\u6cd5\uff0c\u901a\u904e\u67d0\u7a2e\u7279\u5b9a\u7684\u2026","rel":"","context":"\u5728\u300cIOS Development\u300d\u4e2d","block_context":{"text":"IOS Development","link":"https:\/\/1989lifejourney.com\/?cat=37324612"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/03\/1920px-hash_function.svg_.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/03\/1920px-hash_function.svg_.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/03\/1920px-hash_function.svg_.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/03\/1920px-hash_function.svg_.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/03\/1920px-hash_function.svg_.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/1989lifejourney.com\/wp-content\/uploads\/2022\/03\/1920px-hash_function.svg_.png?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts\/4536","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/users\/139426785"}],"replies":[{"embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4536"}],"version-history":[{"count":8,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts\/4536\/revisions"}],"predecessor-version":[{"id":4545,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=\/wp\/v2\/posts\/4536\/revisions\/4545"}],"wp:attachment":[{"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4536"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4536"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4536"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/1989lifejourney.com\/index.php?rest_route=%2Fwp%2Fv2%2Fpost_folder&post=4536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}