觀察者模式(obsever pattern)又名發(fā)行/訂閱模式(publish-subscribe pattern),是事件驅(qū)動(dòng)模型的簡化版本,也是我們熟知的MVC架構(gòu)的核心部分。

 

下面以博客園訂閱博客為例,窺探一下觀察者模式蘊(yùn)含的奧秘:

  當(dāng)博主發(fā)表新文章的時(shí)候,即博主狀態(tài)發(fā)生了改變,那些訂閱的讀者就會(huì)收到通知,然后進(jìn)行相應(yīng)的動(dòng)作,比如去看文章,或者收藏起來。博主與讀者之間存在種一對(duì)多的依賴關(guān)系。

【對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新】這就是觀察者模式,所謂的觀察者可以理解為關(guān)注博客的讀者,被觀察的對(duì)象(Subject)即為博主,博主自身狀態(tài)發(fā)生改變時(shí)會(huì)發(fā)出通知(Notify),讀者(Obsever)可以通過更新操作(Update)獲得博主的最新消息。

 

網(wǎng)友評(píng)論