author:咔咔
wechat:fangkangfk
什麼是職責鏈模式:
職責鏈模式是包含了一些命令物件和一些處理物件,每個處理物件決定他能處理的那些命令物件,它也知道把自己不能處理的命令物件移交給下乙個處理物件
白話解釋:
這個案例一共三個職位,是經理,總監,總經理,職位就類似命令物件,請假這件事就類似命令物件,當經理處理不了的事情就需要移交給總監,總監處理的不了的事情就需要移交給總經理,這也就是我們的職責鏈模式
下來我們分段來解釋這個案例
首先這個案例分為三部分第一部分是宣告的屬性,第二部分是抽象類裡邊設定上下級關係,抽象方法,第三部分就是業務方面的**
<?php
/** * created by phpstorm.
* user: administrator
* date: 2018/11/26
* time: 14:04
*///申請model
class request
//抽象管理者
abstract class manager
//設定管理者上級
public function setheader(manager $_mana)
//申請請求
}//經理
class commonmanager extends manager
: 數量被批准。
"; }
else}}
}//總監
class majordomo extends manager
: 數量被批准。
"; }
else}}
}//總經理
class generalmanager extends manager
: 數量被批准。
"; }
else if($_req->requesttype=="加薪" && $_req->num <= 500)
: 數量被批准。
"; }
else if($_req->requesttype=="加薪" && $_req->num>500)
: 數量再說吧。
"; }
}}header("content-type:text/html;charset=utf-8");
//--------------------職責鏈模式----------------------
$jingli = new commonmanager("李經理");
$zongjian = new majordomo("郭總監");
$zongjingli = new generalmanager("孫總");
//設定直接上級
$jingli->setheader($zongjian);
$zongjian->setheader($zongjingli);
//申請
$req1 = new request();
$req1->requesttype = "請假";
$req1->requestcontent = "小菜請假!";
$req1->num = 20;
php設計模式 四 職責鏈模式
created by phpstorm.user insei date 2019 1 27 time 7 44 pm 職責鏈模式 又叫做責任鏈模式 包含了一些命令物件和一些處理物件,每個處理物件決定它能 出來那些物件,它也知道把自己不能處理的命令交給下乙個處理物件,該模式還描述了往該鏈新增 新的處理...
設計模式 職責鏈模式
2008年08月17日 星期日 下午 04 28 using system using system.collections.generic using system.text public officer officer o public abstract void deal action a c...
設計模式 職責鏈模式
1 request.h ifndef request h define request h include include using namespace std class request 請求類定義 endif request h 2 manager.h ifndef manager h def...