php中責任鏈模式

2021-10-08 01:25:54 字數 698 閱讀 3140

參考:

又叫職責鏈模式。包含了一些命令物件和一些處理物件,每個處理物件決定它能處理哪些命令物件,它也知道應該把自己不能處理的命令物件交下乙個處理物件,該模式還描述了往該鏈新增新的處理物件的方法。

示例情景一:

當使用者發布乙個帖子時:

如果版主可以決定,就版主處理;

如果版主不能決定,就交給上一級管理員處理;

如果管理員不能決定,就交給上一級治安部門處理;

示例情景二:

當乙個員工請假時:

如果組長可以決定,就組長處理;

如果組長不能決定,就交給上一級主管處理;

如果主管不能決定,就交給上一級經理處理;

如果經理不能決定,就交給上一級人事處理。

//示例:當處理乙個帖子時,

//如果不文明嚴重程度處理

//1級,版主刪帖

//2級,管理員封賬號

//3級,治安部門管理

//版主

class boardelse

}}//管理員

class adminelse

}}//治安部門

class police

}$lv = isset($_get['lv'])?$_get['lv']:1;

$cls = new board();

$cls->process($lv);

PHP 責任鏈模式

使多個物件都有機會處理請求,從而避免了請求的傳送者和接收者指間的耦合關係。將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有物件處理它為止。責任鏈模式非常顯著的優點是將請求和處理分開。請求者可以不用知道是誰處理的,處理者可以不用知道請求的全貌,兩者解耦,提高系統的靈活性。鏈中節點數量需要控制,避免...

PHP 設計模式 責任鏈

責任鏈模式 chain of responsibility pattern 為請求建立了乙個接收者物件的鏈。這種模式給予請求的型別,對請求的傳送者和接收者進行解耦。這種型別的設計模式屬於行為型模式。在這種模式中,通常每個接收者都包含對另乙個接收者的引用。如果乙個物件不能處理該請求,那麼它會把相同的請...

PHP設計模式 責任鏈模式

這種模式有另一種稱呼 控制鏈模式。它主要由一系列對於某些命令的處理器構成,每個查詢會在處理器構成的責任鏈中傳遞,在每個交匯點由處理器判斷是否需要對它們進行響應與處理。每次的處理程式會在有處理器處理這些請求時暫停。abstract class responsibility abstract publi...