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

php設計模式 Chain Of Responsibility (職責鏈模式)

復制代碼 代碼如下:
<?php
/**
* 職責鏈模式
*
* 為解除請求的發(fā)送者和接收者之間的耦合,而使用多個對象都用機會處理這個請求,將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它
*
*/
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);
}
}
}
// 實例一下
$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技術php設計模式 Chain Of Responsibility (職責鏈模式),轉載需保留來源!

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

主站蜘蛛池模板: 兰考县| 彝良县| 疏勒县| 阳山县| 正镶白旗| 海兴县| 乌拉特后旗| 新津县| 绵阳市| 东乡| 嘉禾县| 新营市| 娄底市| 当阳市| 砚山县| 喀喇| 合水县| 漳平市| 华宁县| 高州市| 普兰店市| 龙陵县| 长乐市| 安多县| 高安市| 元阳县| 巴东县| 河间市| 理塘县| 松阳县| 奇台县| 海盐县| 邯郸市| 商河县| 德昌县| 房山区| 余江县| 福清市| 西乡县| 沈阳市| 莱阳市|