我試圖學習設計模式,並且我已經帶有觀察者模式。我認爲我理解這個概念本身,但我沒有看到何時使用它。觀察者設計模式在休息應用程序
我試圖解釋自己。我主要使用Web應用程序,所以無狀態應用程序。通常,客戶端從瀏覽器發出請求(例如更新記錄)。那麼操作完成。
讓我們假設我想每次更新記錄時通知一些人。在我看來,觀察者模式是完美的場景,但是當我想到它時,它會結束如下:
- 用戶請求更新。
- 得到所有必須通知的人。
- 把所有必須通知觀察員的人員。
- 進行更新。 (這也將通知觀察者模式)。
但是......這樣做,我必須迭代所有我想通知兩次的人!
而且由於它是一個無狀態應用程序,我必須去獲取所有人,而不是每次都需要通知!
我不知道觀察者模式是否對其他類型的應用程序更有用,但我只能想到這種模式的靜態形式,我的意思是讓觀察者靜態。
我知道我正在失去一些東西,這是一種常見的和可以接受的模式,每個人都接受它作爲這個具體問題的有效解決方案。我不理解?
我同意這個問題,並且我不知道這個問題本身是否是觀察者模式。我的意思是,如果我將所有想要註冊的人都保存在數據庫表中,然後恢復所有這些註冊表並通知他們,那麼對於編程人員和服務器來說,這樣做的效果會相同。但我不認爲這是一種可觀察的設計模式,或者它是? –
在觀察者模式中,程序員不知道觀察者是誰。觀察者自己控制他們觀察的內容和時間;他們可以隨時改變他們觀察到的情況。 – jaco0646
我想我明白你的意思......不是關於表現,而是關於靈活性......好,我仍然沒有完全得到它,但我想我有一些想法想想。 –