php 觀察者模式

2021-10-02 05:05:09 字數 871 閱讀 1302

觀察這模式 也叫 發布-訂閱模式

當乙個物件的狀態發生改變時,依賴他的物件會全部收到通知,並自動更新

場景:當乙個物件的改變需要同時改變其他物件的時候,而且它不知道具體有多少物件有待改變時,應該考慮使用觀察者模式。

<?php

/** * 觀察者模式

*/inte***ce observer

class wechat implements observer

}class web implements observer}}

/** * 主題介面,定義新增觀察者和廣播通知的方法

* inte***ce subject

*/abstract class subject

/*** 移除觀察者

* @param $key

* @return mixed

*/public function removeobserver(observer $observer)

}/**

* 通知

* @return mixed

*/public function notify()

}}/**

* 實現

* class event

*/class event extends subject

}$wechat = new wechat();

$web = new web();

$event = new event();

$event->addobserver($wechat);

$event->addobserver($web);

$event->publish();

PHP 觀察者模式

觀察者模式 定義物件間的一種一對多的依賴關係,以便當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並自動重新整理 能夠便利地建立檢視目標物件狀態的物件,並且提供與核心物件非耦合的指定功能 外掛程式系統 class observerable public function removeobse...

PHP觀察者模式

我理解的觀察者模式就是,當我們觸發乙個事件的時候,想要把這個操作告訴給我想要告訴的物件,讓他們都執行這個操作,就是將他們繫結到這個事件下。1.定義乙個基類 用於新增觀察者也就是我想要通知的物件,還有通知觀察者 eventgenerator.php abstract class eventgenera...

觀察者模式 php

觀察者模式 當你的某個功能在後期可能新增很多不太相干的功能時,可以考慮使用觀察者模式,如乙個使用者登入類,後期可能要求,記錄登入使用者日誌,簡訊提醒,郵件提醒等功能.個人更願意叫他補丁模式.簡單說,就是將每個補丁定義為乙個類,這些補丁類實現同一介面,這些補丁類實現同一方法.原始類只要接收這些補丁類的...