一、概論
什么是觀察者模式呢?其實(shí)也叫訂閱者模式,如果多個用戶訂閱了這個主題,在這個主題發(fā)生改變的時候,每一個用戶都能夠接受到這個主題推送的通知,觀察者模式主要分兩種角色,一種是Subject(主題類),另一種是Observer(監(jiān)視類),主題類為監(jiān)聽類提供了兩個方法,一個是Register ,Observer通過這個方法來申明監(jiān)聽或者說訂閱了這個主題,一個個方法是UnRegister ,是用來移除監(jiān)聽對象,但Subject 類發(fā)生改變的時候,調(diào)用Notify方法,讓后每個訂閱者都能夠收到通知,就像讀者訂閱了報紙,當(dāng)報紙出新的版本事,就可以通知讀者這個報紙出新版本了,各位讀者就是訂閱者,報紙就是主題類。
二、定義接口
根據(jù).net的編碼規(guī)范,我們將監(jiān)視類的接口定義為IObserver,主題類的接口定義為IObservable,表示的是被監(jiān)聽的意思,
IObserver中定義了Update方法
/// <summary> /// 定義觀察者接口 /// </summary> public interface IObserver { void Update(); }
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式