国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:18:11
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


<?php
/**
* 職責鏈模式
*
* 為解除請求的發送者和接收者之間的耦合,而使用多個對象都用機會處理這個請求,將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它
*
*/
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);
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天门市| 邯郸县| 辉南县| 奇台县| 钟祥市| 响水县| 临沂市| 桂平市| 星座| 泰州市| 高青县| 武穴市| 宜阳县| 瑞昌市| 新民市| 彰武县| 鹤山市| 廉江市| 墨脱县| 永安市| 德保县| 麦盖提县| 石城县| 陈巴尔虎旗| 宜君县| 鄂伦春自治旗| 五莲县| 潮州市| 江川县| 江北区| 昌吉市| 五台县| 朔州市| 陆川县| 静乐县| 木兰县| 嘉定区| 镇平县| 德安县| 正定县| 克拉玛依市|