婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > php設計模式之觀察者模式定義與用法經典示例

php設計模式之觀察者模式定義與用法經典示例

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

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

?php
/**
 * @desc 利用觀察者模式,實現不同用戶進入顯示不同的內容
 * 1.主題
 * 2.觀察者接口
 * 3.觀察者
 * ***/
interface Observer{
  //添加觀察者對象
  public function attach($observer);
  //刪除觀察者對象
  public function detach($observer);
  //執行觀察者需要執行的方法
  public function doIt();
}
class User implements Observer{
  public $obj = [];
  /*
  *@desc 傳遞的對象不在存儲的obj對象中則將對象存儲到obj中
  */
  public function attach($observer){
    if(!in_array($observer,$this->obj)){
      $this->obj[] = $observer;
    }
  }
  /**
   * @desc 取消觀察者觀察
   * **/
  public function detach($observer){
    $key = array_search($observer, $this->obj);
    if($key){
      unset($this->obj[$key]);
    }
  }
  /***
   * @desc 獲取所有被觀察者的對象,執行觀察
   * **/
  public function doIt(){
    if(!empty($this->obj)){
      foreach ($this->obj as $v){
        $v->active();
      }
    }
  }
}
/**
 * @desc 觀察者接口
 * **/
interface obsUser{
  public function active();
}
/*
 * @實現零售店用戶實現方法類
 * **/
class storeUser implements obsUser{
  public function active(){
    echo "我是零售店用戶\n";
  }
}
/**
 * @desc 實現經銷商用戶方法類
 * **/
class supplierUser implements obsUser{
  public function active(){
    echo "我是經銷商用戶\n";
  }
}
/*
 * 實例化觀察者接口類
 * **/
$user = new User();
//添加門店用戶類到觀察者對象
$user->attach(new storeUser());
//添加經銷商用戶類到觀察者對象
$user->attach(new supplierUser());
//監控觀察者動作并輸出結果
$user->doIt();

運行結果:

我是零售店用戶
我是經銷商用戶

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

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

您可能感興趣的文章:
  • php設計模式之觀察者模式實例詳解【星際爭霸游戲案例】
  • PHP設計模式之觀察者模式入門與應用案例詳解
  • PHP中常用的三種設計模式詳解【單例模式、工廠模式、觀察者模式】
  • PHP設計模式之觀察者模式定義與用法分析
  • PHP設計模式(觀察者模式)

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

巨人網絡通訊聲明:本文標題《php設計模式之觀察者模式定義與用法經典示例》,本文關鍵詞  php,設計模式,之,觀察者,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php設計模式之觀察者模式定義與用法經典示例》相關的同類信息!
  • 本頁收集關于php設計模式之觀察者模式定義與用法經典示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 改则县| 张掖市| 水富县| 上杭县| 确山县| 宜君县| 温泉县| 鄂伦春自治旗| 新兴县| 理塘县| 额敏县| 麻阳| 林芝县| 新巴尔虎左旗| 武陟县| 鄯善县| 遂平县| 绥阳县| 栾川县| 鲁甸县| 彝良县| 吴忠市| 平陆县| 奇台县| 双流县| 湖北省| 钟山县| 凭祥市| 清徐县| 江孜县| 南丰县| 大名县| 诸城市| 巴里| 侯马市| 东光县| 宿州市| 凌云县| 武胜县| 阿克苏市| 外汇|