|
觀察者模式想必搞程序開發(fā)的都聽說過,今天我也來簡單的總結(jié)一下本人在程序開發(fā)過程中是怎么使用觀察者模式的;希望給大家?guī)睃c新的想法,如果哪位高手看到了也不要嘲笑??;呵呵,追求技術(shù)的人,始終都是為了技術(shù)而學(xué)技術(shù),目的只有一個,一起追求技術(shù)的最高境界。
觀察者模式是設(shè)計模式里經(jīng)常被用到的一種,什么叫觀察者模式,字面理解就是一個或多個對象觀察某個對象,這種觀察是有目的的,當被觀察者發(fā)生某種事件時,能準確的反饋到外界,通知大家你發(fā)生了什么;尤其是在今天面向?qū)ο缶幊痰牟粩喑墒欤裁炊贾v究抽象,將重復(fù)勞動省到最少,方法成員都以類為容器封裝;這是一種好的編程規(guī)則,就好比我們所生存的大自然壞境一樣,汽車與人都是獨立的生存?zhèn)€體,大家互不干擾,我不需要知道我存在的意義,存在的意義是對別人而言。
進入主題,上面剛才講到了汽車與人,打個比方當我們乘坐公交車的時候,我并不認識路,我需要車到的時候通知乘客你到了哪個站,我們好下車;在我們做開發(fā)的時候經(jīng)常會遇到這種情況,我要某個按鈕被鼠標點擊了之后彈出一個文本框出來,等等;繼續(xù)汽車與人的比方,當汽車到站后通過什么方式通知大家你到某某站了呢,這就涉及到汽車這么一個實體是否具有到站事件,如果沒有可能他永遠都不會聽,請看圖一:
圖上是一個汽車和四個乘客實體圖,當汽車到達某個站的時候應(yīng)該告訴乘客到了哪個站了,讓乘客判斷一下是否是自己要下的站,請看圖二:
圖上是汽車到了站點1時通知乘客,并將到站的信息傳遞給乘客讓乘客判斷是否下車,如果某乘客要下車可以通知駕駛員我要下車,請看圖三:
乘客判斷消息是否是自己要下的站,如果是發(fā)出消息給汽車駕駛員,我們這里把駕駛員和汽車當成一體的,由汽車為統(tǒng)稱;汽車接收到乘客的下車信息后打開車門讓乘客下車;我們只要把圖的信息落實到代碼上就OK了,請看代碼圖:
NET技術(shù):.NET簡談觀察者模式,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。