近日在 閱讀sPRingMVC源碼時發(fā)現(xiàn)中大量的應(yīng)用了觀察者模式,發(fā)現(xiàn)自己仍然處于一知半解的狀態(tài), 故有此博文,加強(qiáng)對該模式的理解。
場景: 在微信應(yīng)用使用中,我們經(jīng)常會訂閱些公眾號,而公眾號則自動的向訂閱者提供服務(wù),發(fā)送消息,當(dāng)我們?nèi)∠嗛啎r,公眾號便不再推送。這個過程即使典型的觀察者模式。而通常我們將公眾號稱為主題對象,而訂閱者則稱為觀察者對象。主題對象管理者所有的觀察者對象,當(dāng)主題對象內(nèi)部發(fā)生改變時,新的數(shù)據(jù)將以某種形式發(fā)送到每個觀察者對象。一個主題對象對應(yīng)著多個觀察者對象。
實現(xiàn)方式: 針對這個應(yīng)用場景我們可以想到的實現(xiàn)可能如下:
新聞熱點
疑難解答