责任链模式是一种行为型模式,它包含了一些命令对象和一系列的处理对象。每一个处理对象决定它能处理哪些命令对象,它也知道如何将它不能处理的命令对象传递给该链中的下一个处理对象。该模式还描述了往该处理链的末尾添加新的处理对象的方法。
<?php abstract class Responsibility { // 抽象责任角色 protected $next; // 下一个责任角色 public function setNext(Responsibility $l) { $this->next = $l; return $this; } abstract public function operate(); // 操作方法 } class ResponsibilityA extends Responsibility { public function __construct() {} public function operate(){ if (false == is_null($this->next)) { $this->next->operate(); } }; } class ResponsibilityB extends Responsibility { public function __construct() {} public function operate(){ if (false == is_null($this->next)) { $this->next->operate(); } }; } $res_a = new ResponsibilityA(); $res_b = new ResponsibilityB(); $res_a->setNext($res_b); ?>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理