PHP設計模式(3)觀察者模式

2021-09-03 09:29:26 字數 746 閱讀 7825

觀察者模式為您提供了避免元件之間緊密耦合的另一種方法。該模式非常簡單:乙個物件通過新增乙個方法(該方法允許另乙個物件,即

觀察者 乙個簡單示例是系統中的使用者列表。下面的**顯示乙個使用者列表,新增使用者時,它將傳送出一條訊息。新增使用者時,通過傳送訊息的日誌觀察者可以觀察此列表。

<?php

//首先定義觀察者介面

inte***ce iobserver

//定義被觀察者介面

inte***ce iobservable

//定義使用者列表類,繼承被觀察者類

class userlist implements iobservable

}//註冊觀察者的方法

public function addobserver($observer)

}//定義使用者日誌類,也可以是其他的一些操作,繼承觀察者

class userlistlogger implements iobserver

}//例項化觀察者

$userlistlogger = new userlistlogger();

//例項化被觀察者

$userlist = new userlist();

//註冊觀察者

$userlist->addobserver($userlistlogger);

//註冊使用者,觀察者發生動作

$userlist->addcustomer('jane');

php設計模式 觀察者模式

簡言之 觀察者模式 observer 當乙個物件狀態發生改變時,依賴它的物件全部會收到通知,並自動更新。具體描述 乙個物件通過新增乙個方法 該方法允許另乙個物件 觀察者,註冊自己 使本身變得可觀察。當可觀察的物件更改時,它會將訊息傳送到已註冊的觀察者。這些觀察者使用該資訊執行的操作與可觀察的物件無關...

PHP 設計模式 觀察者模式

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

php設計模式 觀察者模式

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