手机
当前位置:查字典教程网 >编程开发 >php教程 >php设计模式 Chain Of Responsibility (职责链模式)
php设计模式 Chain Of Responsibility (职责链模式)
摘要:复制代码代码如下:

复制代码 代码如下:

<?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);

}

【php设计模式 Chain Of Responsibility (职责链模式)】相关文章:

php输出全球各个时区列表的方法

一个ORACLE分页程序,挺实用的.

杏林同学录(六)

用PHP编程开发“虚拟域名”系统

推荐文章系统(一)

在Linux系统的服务器上隐藏PHP版本号的方法

php简单smarty入门程序实例

使用sockets:从新闻组中获取文章(二)

使用PHP模拟HTTP认证

PHP5中MVC结构学习

精品推荐
分类导航