<?php
/**
* 抽象处理者角色
* @author wzy
*
*/
abstract class Handle
{
/**
* 持有后继的责任对象
*
* @var object
*/
protected $successor;
/**
* 示意处理请求的方法,虽然这个示意方法是没有传入参素的
* 但实际是可以传入参数的,根据具体需要来选择是否传递参数
*/
public abstract function handleRequest ();
/**
* 取值方法
*
* @return object
*/
public function getSuccessor ()
{
return $this->successor;
}
/**
* 赋值方法,设置后继的责任对象
*
* @param object $objsuccessor
*/
public function setSuccessor ($objsuccessor)
{
$this->successor = $objsuccessor;
}
}
/**
* 具体处理者角色
*
* @author wzy
*
*/
class ConcreateHandler extends Handle
{
/**
* 判断是否有后继的责任对象
* 如果有,就转发请求给后继的责任对象
* 如果没有,则处理请求
*
* @see Handle::handleRequest()
*/
public function handleRequest ()
{
if ($this->getSuccessor() != null) {
echo "放过请求,将请求转发给后继的责任对象!<br>";
$this->getSuccessor()->handleRequest();
} else {
echo "处理请求,处理过程省略...<br>";
}
}
}
/**
* 客户端代码
*/
// 组装责任链
$handle1 = new ConcreateHandler();
$handle2 = new ConcreateHandler();
$handle1->setSuccessor($handle2);
// 提交请求
$handle1->handleRequest();
?>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有