PHP模式之觀察者模式

2021-10-03 02:34:47 字數 669 閱讀 6277

<?php

//觀察這模式

inte***ce isubject

inte***ce observer

class subject implements isubject

function removeobserver(observer $obj)

function notifyovservers()

}function __set($name, $val)

function __get($name)

}class observera implements observer

}class observerb implements observer

}$a = new observera();

$b = new observerb();

$s = new subject();

$s->addobserver($a);

$s->addobserver($b);

//出現資料變動後,觸發通知

$s->title = '我們的大中國';

觀察者模式:給某乙個事件(主題)新增觀察者,當觸發這個事件的某個方法時,或許改變了這個事件的某些屬性啥的,並且改變之後還需要通知觀察這個事件的人(觀察者)。

這篇博文解釋的還不錯:

php設計模式之 觀察者模式

觀察者模式 observer 當乙個物件狀態發生改變時,依賴它的物件全部收到通知,並自動更新。抽象被觀察者 abstract class eventgenerator 通知所有觀察者 public function notify 具體被觀察者class event extends eventgene...

PHP 設計模式之觀察者模式

介紹現在有兩派,有的人建議使用設計模式,有的人不建議使用設計模式!這就向寫文章一樣,有的人喜歡文章按照套路走,比如敘事性質的文章,時間,地點,人物,事件。而有的人喜歡寫雜文或者散文,有的人喜歡寫詩詞!很多時候,我看設計模式的時候,有些設計模式只是吻合我的 習慣。但是你硬去套它,那麼反而適得其反。很多...

php 設計模式之觀察者模式

觀察者模式 1.抽象事件發生類 abstract class eventgenerator 對 所有 觀察者 進行 事件 通知 function notify 2.宣告具體事件類 class event extends eventgenerator 3.宣告 乙個 觀察者 介面 inte ce ob...