色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php設(shè)計(jì)模式 Chain Of Responsibility (職責(zé)鏈模式)

復(fù)制代碼 代碼如下:
<?php
/**
* 職責(zé)鏈模式
*
* 為解除請求的發(fā)送者和接收者之間的耦合,而使用多個對象都用機(jī)會處理這個請求,將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它
*
*/
abstract class Handler
{
protected $_handler = null;
public function setSuccessor($handler)
{
$this->_handler = $handler;
}
abstract function handleRequest($request);
}
class ConcreteHandlerZero extends Handler
{
public function handleRequest($request)
{
if($request == 0)
{
echo "0<br/>";
} else {
$this->_handler->handleRequest($request);
}
}
}
class ConcreteHandlerOdd extends Handler
{
public function handleRequest($request)
{
if($request % 2)
{
echo $request." is odd<br/>";
} else {
$this->_handler->handleRequest($request);
}
}
}
class ConcreteHandlerEven extends Handler
{
public function handleRequest($request)
{
if(!($request % 2))
{
echo $request." is even<br/>";
} else {
$this->_handler->handleRequest($request);
}
}
}
// 實(shí)例一下
$objZeroHander = new ConcreteHandlerZero();
$objEvenHander = new ConcreteHandlerEven();
$objOddHander = new ConcreteHandlerOdd();
$objZeroHander->setSuccessor($objEvenHander);
$objEvenHander->setSuccessor($objOddHander);
foreach(array(2,3,4,5,0) as $row)
{
$objZeroHander->handleRequest($row);
}

php技術(shù)php設(shè)計(jì)模式 Chain Of Responsibility (職責(zé)鏈模式),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 富锦市| 应城市| 定安县| 和政县| 南川市| 五莲县| 鹤壁市| 金秀| 庄浪县| 曲阳县| 成都市| 德化县| 平远县| 攀枝花市| 嘉义市| 山丹县| 廊坊市| 瓦房店市| 鄂托克旗| 丁青县| 冷水江市| 高邮市| 杭锦后旗| 长寿区| 鄂托克前旗| 信宜市| 怀来县| 响水县| 塔城市| 巧家县| 彩票| 嘉兴市| 宿松县| 神农架林区| 四平市| 邢台市| 界首市| 环江| 施秉县| 东明县| 馆陶县|