常用設(shè)計模式之責(zé)任鏈模式及其PHP實現(xiàn)
責(zé)任鏈模式是一種行為型模式,它包含了一些命令對象和一系列的處理對象。每一個處理對象決定它能處理哪些命令對象,它也知道如何將它不能處理的命令對象傳遞給該鏈中的下一個處理對象。該模式還描述了往該處理鏈的末尾添加新的處理對象的方法。
主要角色抽象責(zé)任(Responsibility)角色:定義所有責(zé)任支持的公共方法。具體責(zé)任(Concrete Responsibility)角色:以抽象責(zé)任接口實現(xiàn)的具體責(zé)任責(zé)任鏈(Chain of responsibility)角色:設(shè)定責(zé)任的調(diào)用規(guī)則類圖<?phpabstract class Responsibility { // 抽象責(zé)任角色 protected $next; // 下一個責(zé)任角色 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);?>
相關(guān)文章:
