什么是響應(yīng)式編程?
如果要直接理解,可能比較抽象拥娄,但我們可以引用百度百科的例子;例如:a = b + c; 這句代碼將b+c的值賦給a注盈,而之后如果b和c的值改變了不會(huì)影響到a,然而叙赚,對(duì)于響應(yīng)式編程,之后b和c的值的改變也動(dòng)態(tài)影響著a僚饭,意味著a會(huì)隨著b和c的變化而變化震叮。
響應(yīng)式編程過程中,一般有以下幾個(gè)組件鳍鸵,Observable/Operator/Subscriber苇瓣;對(duì)應(yīng)到代碼中就是不同類。這個(gè)流程偿乖,可以簡(jiǎn)單的理解為:Observable -> Operator1 -> Operator2 -> Operator3 -> Subscriber击罪。
解釋
Observable:可理解為能觀察的對(duì)象;例如:一個(gè)數(shù)組贪薪。
Operator:就是對(duì)數(shù)據(jù)進(jìn)行一些操作媳禁,例如:排序,過濾画切,兩個(gè)數(shù)組合并竣稽;都是操作,同時(shí)還可以多個(gè)一起用。
Subscriber:訂閱器毫别;目的是接收處理后的數(shù)據(jù)娃弓;在一個(gè)方法中,或者回調(diào)方法中岛宦,可以接收到操作后的數(shù)組台丛。
優(yōu)點(diǎn)
對(duì)應(yīng)同步編程來說,和普通編程差不都砾肺;但對(duì)于異步編程挽霉,使用響應(yīng)式會(huì)很方便。
缺點(diǎn)
代碼理解起來债沮,稍微困難一點(diǎn)炼吴;另外由于響應(yīng)式編程學(xué)習(xí)曲線陡峭,所以很多時(shí)候不知道如何實(shí)現(xiàn)疫衩,或者使用了不正確方法硅蹦;同時(shí)對(duì)于團(tuán)隊(duì)要求也高一些。