<?phpuml類圖如下:/**
* 職責鏈模式
* * 為解除請求的傳送者和接收者之間的耦合,而使用多個物件都用機會處理這個請求,將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理它
*抽象處理者角色:定義乙個處理請求的介面,和乙個後繼連線(可選)
具體處理者角色:處理它所負責的請求,可以訪問後繼者,如果可以處理請求則處理,否則將該請求轉給他的後繼者。
客戶類:向乙個鏈上的具體處理者concretehandler物件提交請求。
* */
/*職責鏈模式相對來說是比較靈活的,鏈可以設定成直,環形均可
* * 還有純的責任鏈,不純的責任鏈
*///抽象處理者角色,一般包含兩個方法:處理請求,為請求設定繼任者
abstract class handler
abstract public function executerequest($request);
} //具體的處理者,如果能處理,自己處理,不能處理,留給下乙個繼任者
class leader extends handlerelse
}}class director extends handlerelse }}
class manager extends handlerelse }}
//請求
class request
}class client
public function main2()
}client::main2();
?>
PHP 設計模式 職責鏈模式
author 咔咔 wechat fangkangfk 什麼是職責鏈模式 職責鏈模式是包含了一些命令物件和一些處理物件,每個處理物件決定他能處理的那些命令物件,它也知道把自己不能處理的命令物件移交給下乙個處理物件 白話解釋 這個案例一共三個職位,是經理,總監,總經理,職位就類似命令物件,請假這件事就...
設計模式之職責鏈模式
如果我們現在有乙個需求,乙個人他生了病,這個病要在 醫院才能看,但是這個病人並不清楚,就先去了一級醫院,一級醫院的醫生告訴他你的病要去二級醫院看,二級醫院也告訴他 你的病我這裡看不了,你要去 醫院才能看,最後他去 醫院把病看好了.這個過程直接寫成 class patient this.patient...
設計模式之職責鏈模式
職責鏈模式 使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理它為止。適用場景 1 有多個的物件可以處理乙個請求,哪個物件處理該請求執行時刻自動確定 2 在不明確指定接收者的情況下,向多個物件中的乙個提交乙個請求 ...