最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2011年06月26日 10:38:23   作者:  
為解除請求的發(fā)送者和接收者之間的耦合,而使用多個對象都用機(jī)會處理這個請求,將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它
復(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);
}

相關(guān)文章

最新評論

美姑县| 庆安县| 饶平县| 宁城县| 昌宁县| 勐海县| 大兴区| 库尔勒市| 甘南县| 新邵县| 砀山县| 芜湖市| 乌拉特前旗| 临武县| 云和县| 黔西县| 北川| 杭州市| 盐亭县| 安宁市| 张家口市| 陆丰市| 洪江市| 泽库县| 井陉县| 昌乐县| 西林县| 邵东县| 天长市| 兰考县| 峡江县| 惠安县| 达尔| 麻江县| 建平县| 壶关县| 普定县| 瑞金市| 曲沃县| 交口县| 阳朔县|