前面一篇千絕介紹了工廠模式,不知道各位看官老爺看的怎麼樣呢,這篇文章千絕將會介紹設計模式中的觀察者模式,這個設計模式呢,千絕認為還是比較簡單的,只要看官老爺們認真讀我這篇文章如果還不知道觀察者模式是什麼,以及如何寫乙個觀察者模式,那麼你們可以噴我了(qaq)。
觀察者模式(有時又被稱為發布-訂閱模式、模型-檢視模式、源-收聽者模式或從屬者模式)是軟體設計模式的一種。在此種模式中,乙個目標物件管理所有相依於它的觀察者物件,並且在它本身的狀態改變時主動發出通知。這通常透過呼叫各觀察者所提供的方法來實現。此種模式通常被用來實作事件處理系統。千絕對這段定義的理解就是:乙個類管理著所有依賴於它的觀察者類,並且當它的狀態變化時會主動給這些依賴它的類發出通知。理解還是挺好理解的,如果不能理解上面的話,千絕會用生活當中的例子來給你們講解的。
這個時候千絕一想這不就是觀察者模式嗎,沒事交給我了。
定義乙個被觀察者介面
public
inte***ce
observerable
定義乙個觀察者介面
public
inte***ce
observer
定義作者類實現了observerable介面
public
class
author
implements
observerable
public
void
addobserver
(observer o)
public
void
removeobserver
(observer o)
}public
void
notifyobserver()
}}
定義讀者類實現observer介面
public
class
reader
implements
observer
public
void
update
(string message)
}
測試一下
總管更新了陳平安最新的一章,四個訂閱的讀者都能收到,後來讀者1覺得總管更新的太慢了就取消訂閱了,結果總管再更新的時候,讀者1就收不到了。
感謝各位看官老爺的收看。
下期預告,迭代器模式。
我是程式設計師
相比於寫 我更喜歡寫能自動產生 的生成器,和許多人一樣,我討厭寫重複的 這種重複包括字面的重複和結構的重複 還有思想的重複。在日常的開發過程中,一旦我發現一種需要經常使用的元素 類 結構 方法 我就將它整理出來,所謂整理主要是做這樣的工作 重構 最大限度降低這個元素與其它元素的耦合性 最大限度地擴充...
我是程式設計師
相比於寫 我更喜歡寫能自動產生 的生成器,和許多人一樣,我討厭寫重複的 這種重複包括字面的重複和結構的重複 還有思想的重複。在日常的開發過程中,一旦我發現一種需要經常使用的元素 類 結構 方法 我就將它整理出來,所謂整理主要是做這樣的工作 重構 最大限度降低這個元素與其它元素的耦合性 最大限度地擴充...
什麼是程式設計師
乙個大專學歷想做程式設計師的朋友和我的對話,很短,我覺得,至少能說明我的心情和對程式設計師職業理解的乙個側面。2008 07 28 12 11 37 卿飄飄 大哥現在還寫程式不?2008 07 28 12 12 51 青潤寫。2008 07 28 12 16 10 卿飄飄 哦 你覺得三十歲後還寫程式...