有一個需求是這樣,一個地方改變,其他地方需要同步,我們該怎麼樣實現呢?
如果對觀察者設計模式有了解的話,我們就知道,我們是可以使用觀察者數據模式來實現的;但是這樣真的適合嗎?除了觀察者設計模式,我們是否還能使用其他方式來實現嗎?
- 下面一個具體的場景:
手機端一個新聞的app,當服務器數據發生改變的時候,手機端需要同步的話,這裏我們使用觀察者設計模式,這樣的話,就會出現一個問題,即使用戶不想接收這個新聞,也是不行的,當然我們一般不會這樣去幹,我們一般的邏輯就是下拉刷新,不去響應服務器的變化,而是主動請求同步,這就是交互式;
相反:
每當服務器發生變化的時候,手機端立馬能夠同步,這就是響應式;最常見的就是接口的回掉與觀察者設計模式;
當然,不管是響應式,還是交互式,都是能夠同步服務器的數據;我們是完全可以用交互式去模擬實現響應式(死循環去訪問服務器),但是響應式卻不能去模擬交互式的。
一般情況,他們是使用在不同的場景的,但是也可以同時去適應某一種場景;
比如說聊天軟件的消息,我們認爲既可以使用響應式也是可以交互式來實現;
一般來說,適應響應式的場景,一般都是能夠使用響應式來實現的,
我們都是不會用交互式去實現;但是場景一般適應交互式的, 我們就只能用交互式去實現;