php設計模式 觀察者模式

2021-07-14 03:03:35 字數 1226 閱讀 9293

簡言之:觀察者模式(observer),當乙個物件狀態發生改變時,依賴它的物件全部會收到通知,並自動更新。

具體描述:乙個物件通過新增乙個方法(該方法允許另乙個物件-觀察者,註冊自己)使本身變得可觀察。當可觀察的物件更改時,它會將訊息傳送到已註冊的觀察者。這些觀察者使用該資訊執行的操作與可觀察的物件無關。結果是物件可以相互對話,而不必了解原因。觀察者模式是一種時間系統,意味著這一模式允許某個類觀察另乙個類的狀態。當被觀察的類狀態發生改變的時候,觀察類可以收到通知並且做出相應的動作,觀察者模式避免元件之間的緊密耦合。

觀察者模式中的角色:

php設計模式之觀察者模式(observer)詳細介紹和**例項

簡單**實現:

\libs\eventgenerator.php

<?php

namespace libs;

abstract class eventgenerator

public function notify() }

}

\libs\observer.php

<?php

namespace libs;

inte***ce observer

\libs\observerone.php

<?php

namespace libs;

class observerone implements observer

}

\libs\event

<?php

namespace libs;

class event extends \libs\eventgenerator

}

呼叫

$event = new \libs\event();

$event->addobserver(new \libs\observerone);

$event->trigger();

結果:

新增了-執行了-發生了-one!

推薦閱讀:

php模式設計之觀察者模式

php設計模式之觀察者模式

php 設計模式之觀察者模式

PHP 設計模式 觀察者模式

觀察者模式 乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。1 定義乙個專案subjects抽象類 乙個觀察者observers抽象類。subject 實現三個方法,1,新增add 刪除 remove 通知 notify。observe 實現update 方法 格式和組合模式有點...

php設計模式 觀察者模式

在web應用中,通常,一些小範圍的資料和業務的改變,其他相關的業務資料也需要發生改變,這種情況,觀察者模式很適合。觀察者模式,通常是通過使用乙個叫observer的介面實現的,如果其他的類要引入觀察者,就要實現這個介面 比如,有乙個這樣的需求,如果產品匯率改變了,所有產品的相關頁面展示資訊和 計算也...

PHP設計模式 觀察者模式

知識就是作為觀察者所獲得的結論,經過科學培訓的觀察者會為我們提供所有能感知的現實。設計觀察者模式是為了讓乙個物件跟蹤某個狀態,知道狀態何時改變,一旦狀態改變,所有訂閱物件都能得到通知。如果需要保證乙個狀態的一致性 比如說 狀態觸發類的應用 但是這個給定狀態可能有多個不同的使用者等級,這種情況下觀察者...