前言:【模式總覽】——————————by xingoo
觀察者模式,也叫釋出/訂閱模式,從名字來說就能察覺到它的過程應該是,釋出——其他人接受。
這個模式定義了對象之間的一種依賴關系,當一個對象發生變化時,其他的對象收到更新,也發生變化。
模拟我們訂閱郵件這個場景,不管我們的郵箱是在登陸還是關閉,郵件都會發送到郵箱裡面。隻要把自己的郵箱訂閱到這個郵件就可以了!這個模式也是這樣一個過程。
這個模式代碼相對來說比較容易了解,而且應用很廣泛。
1 當一個模型有幾個展現方面,通過修改一個展現,順便更新其他的。就好比一個網站的有web端,也有移動端,當web端的資料發生變化時,移動端的資料展現也要更新。
2 對一個對象發生改變,而不知道将有多少對象會發生改變時,利用這種模式可以有效的管理對象。
Subject 抽象的主題角色
ConcreteSubject 具體的主題角色,内部有一個容易,用于存放訂閱者
Observer 抽象的訂閱者角色
ConcreteObserver 具體的訂閱者
全部代碼
View Code
運作結果
作者:xingoo