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

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

復(fù)制代碼 代碼如下:
<?php
/**
* 職責(zé)鏈模式
*
* 為解除請(qǐng)求的發(fā)送者和接收者之間的耦合,而使用多個(gè)對(duì)象都用機(jī)會(huì)處理這個(gè)請(qǐng)求,將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它
*
*/
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)載需保留來(lái)源!

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

主站蜘蛛池模板: 临清市| 洞头县| 长宁县| 怀安县| 开化县| 乌什县| 舟曲县| 芜湖县| 肇源县| 娄底市| 宜川县| 紫金县| 邢台市| 雷山县| 霞浦县| 教育| 秭归县| 喜德县| 永善县| 顺平县| 南川市| 沈阳市| 金平| 桐柏县| 景洪市| 万年县| 景洪市| 江口县| 信宜市| 荔波县| 松潘县| 乃东县| 堆龙德庆县| 建阳市| 玉田县| 读书| 肃南| 勃利县| 独山县| 桃园县| 章丘市|