php設計模式 四 職責鏈模式

2021-09-10 07:05:20 字數 1669 閱讀 5903

<?php

/** * created by phpstorm.

* user: insei

* date: 2019/1/27

* time: 7:44 pm

*/// 職責鏈模式(又叫做責任鏈模式) 包含了一些命令物件和一些處理物件,每個處理物件決定它能

// 出來那些物件,它也知道把自己不能處理的命令交給下乙個處理物件,該模式還描述了往該鏈新增

// 新的處理物件方法。

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)

: 數量再說吧。

"; }

}}//--------------------職責鏈模式----------------------

$jingli = new commonmanager("李經理");

$zongjian = new majordomo("郭總監");

$zongjingli = new generalmanager("孫總");

//設定直接上級

$jingli->setheader($zongjian);

$zongjian->setheader($zongjingli);

//申請

$req1 = new request();

$req1->requesttype = "請假";

$req1->requestcontent = "小菜請假!";

$req1->num = 1;

$req2 = new request();

$req2->requesttype = "請假";

$req2->requestcontent = "小菜請假!";

$req2->num = 4;

$req3 = new request();

$req3->requesttype = "加薪";

$req3->requestcontent = "小菜請求加薪!";

$req3->num = 500;

$req4 = new request();

$req4->requesttype = "加薪";

$req4->requestcontent = "小菜請求加薪!";

$req4->num = 1000;

PHP 設計模式 職責鏈模式

author 咔咔 wechat fangkangfk 什麼是職責鏈模式 職責鏈模式是包含了一些命令物件和一些處理物件,每個處理物件決定他能處理的那些命令物件,它也知道把自己不能處理的命令物件移交給下乙個處理物件 白話解釋 這個案例一共三個職位,是經理,總監,總經理,職位就類似命令物件,請假這件事就...

設計模式 職責鏈模式

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...