PHP职责链模式
发布时间:2023-12-24 10:59:04 所属栏目:PHP教程 来源:DaWei
导读: 这篇文章给大家介绍了“PHP职责链模式怎样实现,代码是什么”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小
这篇文章给大家介绍了“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 "; } else { $this->_handler->handleRequest($request); } } } class ConcreteHandlerOdd extends Handler { public function handleRequest($request) { if($request % 2) { echo $request." is odd "; } else { $this->_handler->handleRequest($request); } } } class ConcreteHandlerEven extends Handler { public function handleRequest($request) { if(!($request % 2)) { echo $request." is even "; } 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职责链模式怎样实现,代码是什么”就介绍到这了,如果大家觉得不错可以参考了解看看,如果想要了解更多,小编每天都会为大家更新不同的知识。 (编辑:温州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐