觀察者模式
複製** **如下:
inte***ce subject
class boss implements subject
public function detach($observer) }
public function notify() }
public function subjectstate($subject) }
abstract class observer
public abstract function update(); //接收通過方法
} class stockobserver extends observer
public function update() }
$huhansan = new boss(); //被觀察者
$gong程式設計客棧shil = new stockobserver("三毛",$huhansan); //初始化觀察者
$huhansan->attach($gongshil); //新增乙個觀察者
$huhansan->attach($gongshil); //新增乙個相同的觀察者
$huhansan->detach($gongshil); //踢出基中乙個觀察者
$huhansan->subjectstate("警察來了"); //達到滿足的條件
$huhansan->notify(); //通過所有有效的觀察者程式設計客棧
可以粗略的理解為,乙個類(我們程式設計客棧稱之為被觀察者),這個類繼承了乙個被觀察者容器的藉口
該介面中的方法有:新增觀察者,踢出觀察者,提醒觀察者,和觀察條件
新增觀察者即相當於把一些類註冊到這個容器之中,當然這些類的前提是需要有乙個相應被觀察者反應資訊的方法,
被觀察者容器通過接受不同的觀察條件引數來判斷是否需要提醒所有本容器中的已經註冊過的觀察者是否相應
一旦滿足提醒條件,提醒容器內所有觀察者讓其呼叫相應方法並且實現對應觀察者例項的變化
暫且理解到此!
本文標題: php中的觀察者模式
本文位址:
php中的觀察者模式
當乙個物件狀態發生改變後,會影響到其他幾個物件的改變,這時候可以用觀察者模式。像wordpress這樣的應用程式中,它容外部開發組開發外掛程式,比如使用者授權的部落格統計外掛程式 積分外掛程式,這時候可以應用觀察者模式,先註冊這些外掛程式,當使用者發布一篇博文後,就回自動通知相應的外掛程式更新。觀察...
PHP中的觀察者模式
當物件間存在一對多關係時,可以使用觀察者模式 observer pattern 乙個物件 目標物件 的狀態發生改變,所有的依賴物件 觀察者物件 都將得到通知,並執行相應方法。寫乙個簡單的觀察者模式 定義觀察者需要實現的介面 inte ce sendmsg inte ce sendmsg 觀察者 1 ...
PHP 觀察者模式
觀察者模式 定義物件間的一種一對多的依賴關係,以便當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並自動重新整理 能夠便利地建立檢視目標物件狀態的物件,並且提供與核心物件非耦合的指定功能 外掛程式系統 class observerable public function removeobse...