複製** **如下:
php
/**
* 觀察者模式
* * 定義物件間的一種一對多的依賴關係,以便當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並自動重新整理
* 能夠便利地建立檢視目標物件狀態的物件,並且提供與核心物件非耦合的指定功能
* 外掛程式系統
*/ class observerablwww.cppcns.come
public function removeobserver($observer) }
public function notifyobservers() }
} inte***ce observer
inte***ce displayelement
// -- 例項類定義
class newsobserverable extends observerable
public function getsportsnews()
private $_local_news;
public function setlocalnews($data)
public function getlocalnews() }
class sportsnews implemwww.cppcns.coments observer,displayelement }
public function display()
}www.cppcns.com
class localnews implements observer,displayelement }
public function display() }
// -- 例項化 ---
$objobserver = new newsobserverable();
$local = new localnews();
$sports = new sportsnews();
$objobserver->registerobserver($local);
$objobserver->registerobserver($sports);
$objobserver->setsportsnews("sports news 1 ");
$objobserver->setlocalnews("local news 1 ");
$objobserver->removeobserver($sports);
$objobserver->setlocalnews("local news 2 ");
$objobserver->setsportsnews("sports news 2 ");
$objobserver->removeobserver($local);
$objobserver->setlocalnews("local news 程式設計客棧3 ");
本文標題: php設計模式 observer(觀察者模式)
本文位址:
設計模式Observer
observer設計模式的定義 定義了物件之間的一對多的依賴,這樣以來,當乙個物件改變狀態時,它的所有依賴者都會受到通知並自動更新。ifndef subjec h define subjec h include observer.h class subject subject subject sub...
Observer設計模式
observer設計模式是針對 乙個物件對多個物件中,乙個物件發生狀態改變,其他附屬物件發生相應的更新。是一種松耦合的設計模式。例子 假設我們有個高檔的熱水器,我們給它通上電,當水溫超過95度的時候 1 揚聲器會開始發出語音,告訴你水的溫度 2 液晶屏也會改變水溫的顯示,來提示水已經快燒開了。現在我...
設計模式 Observer
定義物件間的一種一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。dependents,publish subscribe 適用性 結構 允許你獨立的改變subject和observer。優缺點 1.建立subject到其observer之間的對映 最簡單的方法...