好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > php設計模式之職責鏈模式定義與用法經典示例

php設計模式之職責鏈模式定義與用法經典示例

熱門標簽:外呼系統撥打暫時無法接通 怎么向銷售公司推銷外呼系統 長春人工外呼系統服務商 仁和怎么申請400開頭的電話 廣東地市地圖標注 廣州防封卡外呼系統多少錢一個月 江西手機自動外呼防封系統是什么 高德地圖標注家 哪里辦理400電話

本文實例講述了php設計模式之職責鏈模式定義與用法。分享給大家供大家參考,具體如下:

?php
/**
 * @desc php設計模式之職責鏈模式(責任鏈模式)
 定義:顧名思義,責任鏈模式為請求創建了一個接收者對象的鏈。這種模式給予請求的類型,對請求的發送者和接收者進行解耦。這種類型的設計模式屬于行為型模式。
在這種模式中,通常每個接收者都包含對另一個接收者的引用。如果一個對象不能處理該請求,那么它會把相同的請求傳給下一個接收者,依此類推。
 * 模擬公司請假流程,實現職責鏈模式
 * 項目主管:有1天的批假權限
 * 項目經理:有3天的批假權限
 * 公司老板:任性似的權限看心情
 * 此模式有兩個角色:1請求員工角色,2領導管理者角色
 * **/
//員工類
class staff{
  public $name;//員工姓名
  public $department;//部門名稱
  public $days;//請假天數
  public function __construct($name,$department,$days){
    $this->name = $name;
    $this->department = $department;
    $this->days = $days;
  }
}
//創建抽象管理者類
abstract class manager{
  public $manager;//設置管理者上級
  public function __construct($name){
    $this->name = $name;
  }
  //設置處理申請的上級管理對象
  public function setHeader(manager $manager){
    $this->manager = $manager;
  }
  //請假申請處理方法
  abstract public function apply(staff $staff);
}
//項目經理請假申請處理類
class charge extends manager{
  public $name;//管理者姓名
  public function __construct($name){
    parent::__construct($name);
  }
  /**
   * @desc 審批請假
   * **/
  public function apply(staff $staff){
    if($staff->days=1){
      echo "{$staff->department}的{$staff->name}你的請假已批準,審批天數{$staff->days},審核人項目主管:{$this->name}".PHP_EOL;
    }else{
      $this->manager->apply($staff);
    }
  }
}
/**
 * @desc 項目經理審批類
 * **/
class projectManager extends manager{
  public function __construct($name){
    parent::__construct($name);
  }
  /**
   * @desc 審批請假
   * **/
  public function apply(staff $staff){
    if($staff->days=3){
      echo "{$staff->department}的{$staff->name}你的請假已批準,審批天數{$staff->days},審核人項目經理:{$this->name}".PHP_EOL;
    }else{
      $this->manager->apply($staff);
    }
  }
}
/**
 * @desc 老板審批類
 * **/
class boss extends manager{
  public function __construct($name){
    parent::__construct($name);
  }
  /**
   * @desc 審批請假
   * **/
  public function apply(staff $staff){
    if($staff->days>3  $staff->days=5 ){
      echo "{$staff->department}的{$staff->name}你的請假已批準,審批天數{$staff->days},審核人ceo:{$this->name}".PHP_EOL;
    }else{
      echo "{$staff->department}的{$staff->name}你的請假天數過長,未批準,審批人ceo:{$this->name}".PHP_EOL;
    }
  }
}
//實例化管理者類
$manager = new charge("尹志平");
$projectManager = new projectManager("令狐沖");
$boss = new boss("風清揚");
//設置管理類的上次管理對象實例
$manager->setHeader($projectManager);
$projectManager->setHeader($boss);
//申請請假1天
$staff = new staff('劉德華', '技術部', 1);
$manager->apply($staff);
//申請請假3天
$staff = new staff('周潤發', '技術部', 2);
$manager->apply($staff);
//申請請假5天
$staff = new staff('張學友', '技術部', 5);
$manager->apply($staff);
//申請請假7天
$staff = new staff('劉亦菲', '技術部', 7);
$manager->apply($staff);
/**
拿這個請假的案例通俗的理解就是:每次請假申請都是從最接近自己的領導開始,一層一層的往上遞,直到有人處理結束,更通俗的講就是你給我發一個請求,我如果
有處理權限就直接處理了,如果權限不足就往更上一級別傳遞直到審核通過結束
 * **/
/*運行結果
技術部的劉德華你的請假已批準,審批天數1,審核人項目主管:尹志平
技術部的周潤發你的請假已批準,審批天數2,審核人項目經理:令狐沖
技術部的張學友你的請假已批準,審批天數5,審核人ceo:風清揚
技術部的劉亦菲你的請假天數過長,未批準,審批人ceo:風清揚
*/

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP設計模式之裝飾者模式代碼實例
  • PHP設計模式之裝飾者模式
  • php設計模式 Decorator(裝飾模式)
  • 學習php設計模式 php實現裝飾器模式(decorator)
  • PHP面向對象程序設計組合模式與裝飾模式詳解
  • PHP設計模式之裝飾器模式定義與用法詳解
  • php適配器模式簡單應用示例
  • php橋接模式應用案例分析
  • php 策略模式原理與應用深入理解
  • php設計模式之工廠模式用法經典實例分析
  • php設計模式之觀察者模式定義與用法經典示例
  • php裝飾者模式簡單應用案例分析

標簽:濮陽 黔東 廈門 惠州 梅河口 湘西 文山 海北

巨人網絡通訊聲明:本文標題《php設計模式之職責鏈模式定義與用法經典示例》,本文關鍵詞  php,設計模式,之,職責,鏈,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php設計模式之職責鏈模式定義與用法經典示例》相關的同類信息!
  • 本頁收集關于php設計模式之職責鏈模式定義與用法經典示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 日韩成人免费观看在线| 欧美第3页浮力影院| 坐在学长棒棒上做作业| 猛男gayxxxgv1069| 四影虎影ww4hu55com| 老师粗又长好猛好爽| 和搜子同屋的日子hd电影| 熟女少妇精品一区二区三区| a级片免费观看视频| 99re在线观看视频| 又硬又粗进去爽A片免费无码安娜| 国产黄色小视频网站| furry控| 色欲久久久天天综合网精品88| 我和大乳老师做| 双人床上剧烈运动| 欧美三级巜双乳紧扣的肉体市场 | 撕下我内裤后强行进| jiizzyou性欧美老片| 当着老公面被cao高H漫画书| 户外打野战啪啪| 精品影院| 狼色精品人妻在线视频网站| 国内外一级毛片| 棚拍肉体gogo人体写真| 国产精品久久久久久欧美蜜月Av| 国产亚洲欧美AV私人影院| 壮汉紫黑粗大好深用力| 日本亲子交尾手机在线观看 | 日韩区在线| 国产一级毛片免| 狠狠躁夜夜躁人人爽碰AV| 高肉H文乱合集| adp093被店长侵犯的石原莉奈| 操比软件| gogo人体做爰大胆无码| 女s男m调教羞辱文| 亚洲AV福利无码无二区2021 | xvideos视频chinese| 巜修理工的真实调教 正在热播| 啊太深了轻点嗯太涨了|