php 訂閱功能,簡單的訂閱者模式

2021-10-25 21:32:37 字數 1221 閱讀 6173

lynda 假設有乙個系統服務,有幾個模組需要使用服務,元件可以訂閱這個服務或訊息,通過系統廣播通知所有的模組。 無 ?php// 訂閱發布模式 介面的定義及訊息的傳遞class dispatcher{ // 監視public static $listeners = array();protected function __constru

lynda

假設有乙個系統服務,有幾個模組需要使用服務,元件可以訂閱這個服務或訊息,通過系統廣播通知所有的模組。

dosomething();

class service

protected $name = '';

public function __construct($name)

$this->name = $name;

// 觸發動作

public function dosomething()

dispatcher::publish($this);

class component

protected $name = '';

public function __construct($name)

$this->name = $name;

public function dosomething()

echo sprintf("%s did something.\n", $this->name);

$servicea = new service("servicea");

$componenta = new component("componenta");

$componentb = new component("componentb");

$componentc = new component("componentc");

dispatcher::subscribe($servicea, $componenta);

dispatcher::subscribe($servicea, $componentb);

dispatcher::subscribe($servicea, $componentc);

// 觸發乙個動作

$servicea->dosomething();

// output

//componenta did something.

//componentb did something.

//componentc did something.

angular訂閱者模式

流程 1.建立noticesevice服務,內部有乙個subject時間發射器subject 2.send 為傳送資料,實際就是乙個事件 3.get 為獲取observable物件,但是此時沒有訂閱者,那麼就沒有訂閱者可通知 4.a元件把noticesevice服務類新增進來,然後在啟動的時候啟用這...

訂閱發布者模式的簡單實現

什麼是訂閱發布者模式?乙個物件作為特定任務或是另一物件的活動的觀察者,並且在這個任務或活動發生時,通知觀察者。觀察者也被叫作訂閱者 subscriber 它指向被觀察的物件,既被觀察者 publisher 或 subject 當事件發生時,被觀察者 publisher 就會通知觀察者 subscri...

訂閱者模式(觀察者模式)

include include include struct notification virtual void process 0 class subscribera public notification class subscriberb public notification class p...