复代码 代码如下:
/**
* 책임 체인 패턴
*
* 요청의 송신자와 수신자를 분리하기 위해 여러 객체를 사용하여 요청을 처리하고, 이러한 객체를 체인으로 연결한 후 요청을 전달합니다. 객체가 처리할 때까지 체인
*
*/
추상 클래스 핸들러
{
보호된 $_handler = null;
공용 함수 setSuccessor($handler)
{
$this->_handler = $handler;
}
추상 함수 handlerRequest($request);
}
class ConcreteHandlerZero 확장 핸들러
{
public function handlerRequest($request)
{
if($request == 0)
{
echo "0< ;br/>";
} else {
$this->_handler->handleRequest($request);
}
}
}
class ConcreteHandlerOdd 확장 핸들러
{
공용 함수 handlerRequest($request)
{
if($request % 2)
{
echo $request."는 홀수입니다
";
} else {
$this->_handler->handleRequest($request);
}
}
}
class ConcreteHandlerEven은 Handler를 확장합니다
{
public function handlerRequest($request)
{
if(!($request % 2))
{
echo $request."는 짝수입니다
";
} else {
$this->_handler->handleRequest($request);
}
}
}
// 实例一下
$objZeroHander = new ConcreteHandlerZero();
$objEvenHander = 새로운 ConcreteHandlerEven();
$objOddHander = 새로운 ConcreteHandlerOdd();
$objZeroHander->setSuccessor($objEvenHander);
$objEvenHander->setSuccessor($objOddHander);
foreach(array(2,3,4,5,0) as $row)
{
$objZeroHander->handleRequest($row);
}
以上就介绍了responsibility php设计模式 Chain of Responsibility 职责链模式,包括了responsibility方face 内容,希望对PHP教程有兴趣的朋友有所帮助。