php設計模式 Observer 觀察者模式

2022-10-04 11:27:10 字數 1503 閱讀 4907

複製** **如下:

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之間的對映 最簡單的方法...