校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP設計模式之觀察者模式入門與應用案例詳解

PHP設計模式之觀察者模式入門與應用案例詳解

熱門標簽:杭州語音電銷機器人 欣思維地圖標注 天潤融通外呼系統好嗎 高德地圖標注店鋪收費嗎 江西電銷機器人收費 江門回撥外呼系統 泊頭在哪里辦理400電話 電銷機器人沒有效果怎么樣 高德地圖標注位置怎么標注

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

“觀察者模式”的觀察者三個字信息量很大,玩過很多網絡游戲的童鞋們應該知道,即便是斗地主,除了玩家,還有一個角色叫“觀察者",在咱們本次文章中的觀察者模式也是如此,就是我們會有要有一個“主題”,只有有了一個主題,觀察者或者說各位看官才能搬著小板凳兒聚在一堆,來看我的文章。其次,觀察者還必須要有自己的操作,也就是說,你不能光看我的文章啊,還得自己動手,否則你聚在一堆兒沒事做也沒什么意義,白看一篇文章,浪費了時間。

從面向過程的角度來看,首先是觀察者向主題注冊,注冊完之后,主題再通知觀察者做出相應的操作,整個事情就完了。

從面向對象的角度來看,主題提供注冊和通知的接口,觀察者提供自身操作的接口,(這些觀察者擁有一個同一個接口)觀察者利用主題的接口向主題注冊,而主題利用觀察者接口通知觀察者,耦合度相當之低。

可以這么來說,就是,觀察者設計模式能夠更便利創建和查看目標對象狀態的對象,并且提供和核心對象非耦合的置頂功能性。

我們可以看到,觀察者設計模式非常常用,在一般復雜的WEB系統中,觀察者模式可以幫你減輕代碼設計的壓力,降低代碼耦合。

縣來看一個完整的場景應用:

  1. 設計一個訂單類
  2. 訂單創建完成后,會做各種動作,比如發送EMAIL,或者改變訂單狀態等等。
  3. 原始的方法,是將這些操作都寫在create函數里面
  4. 但是隨著訂單創建類的越來越龐大,這樣的操作已經無法滿足需求和快速變動
  5. 這個時候,觀察者模式出現了。

來看下代碼實例:

?php
//觀察者設計模式能夠更便利創建和查看目標對象狀態的對象,并且提供和核心對象非耦合的置頂功能性。
//觀察者設計模式非常常用,在一般復雜的WEB系統中,觀察者模式可以幫你減輕代碼設計的壓力,降低代碼耦合。
//以一個購物流程為例子
class order {
    protected $observers = array(); // 存放觀察容器
    //觀察者新增
    public function addObServer($type, $observer) {
        $this->observers[$type][] = $observer;
    }
    //運行觀察者
    public function obServer($type) {
        if (isset($this->observers[$type])) {
            foreach ($this->observers[$type] as $obser) {
                $a = new $obser;
                $a->update($this); //公用方法
            }
        }
    }
    //下單購買流程
    public function create() {
        echo '購買成功';
        $this->obServer('buy'); // buy動作
    }
}
class orderEmail {
    public static function update($order) {
        echo '發送購買成功一個郵件';
    }
}
class orderStatus {
    public static function update($order) {
        echo '改變訂單狀態';
    }
}
$ob = new order;
$ob->addObServer('buy', 'orderEmail');
$ob->addObServer('buy', 'orderStatus');
$ob->create();

運行結果:

購買成功發送購買成功一個郵件改變訂單狀態

再來看個大點的實例:

?php
// 主題接口
interface Subject{
  public function register(Observer $observer);
  public function notify();
}
// 觀察者接口
interface Observer{
  public function watch();
}
// 主題
class Action implements Subject{
   public $_observers=array();
   public function register(Observer $observer){
     $this->_observers[]=$observer;
   }
   public function notify(){
     foreach ($this->_observers as $observer) {
       $observer->watch();
     }
   }
 }
// 觀察者
class Cat implements Observer{
   public function watch(){
     echo "Cat watches TVhr/>";
   }
 } 
 class Dog implements Observer{
   public function watch(){
     echo "Dog watches TVhr/>";
   }
 } 
 class People implements Observer{
   public function watch(){
     echo "People watches TVhr/>";
   }
 }
// 應用實例
$action=new Action();
$action->register(new Cat());
$action->register(new People());
$action->register(new Dog());
$action->notify();

運行結果:

Cat watches TV
--------------------------------------------------------------------------------
People watches TV
--------------------------------------------------------------------------------
Dog watches TV
--------------------------------------------------------------------------------

我們可以看到,所謂模式,更多的是一種想法,完全沒必要拘泥于代碼細節。觀察者模式更多體現了兩個獨立的類利用接口完成一件本應該很復雜的事情。不利用主題類的話,我們還需要不斷循環創建實例,執行操作。而現在只需要創建實例就好,執行操作的事兒只需要調用一次通知的方法就好啦。

好啦,本次記錄就到這里了。

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

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

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

標簽:宜賓 寶雞 婁底 湛江 南陽 鎮江 黃南 銅川

巨人網絡通訊聲明:本文標題《PHP設計模式之觀察者模式入門與應用案例詳解》,本文關鍵詞  PHP,設計模式,之,觀察者,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP設計模式之觀察者模式入門與應用案例詳解》相關的同類信息!
  • 本頁收集關于PHP設計模式之觀察者模式入門與應用案例詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美日韩五月天| 亚洲女与黑人做爰| 亚洲美女淫视频| 国产制服丝袜一区| 欧美日韩午夜影院| 亚洲视频一区在线| 精品无码三级在线观看视频| 欧美性色aⅴ视频一区日韩精品| 精品日产卡一卡二卡麻豆| 亚洲欧美激情小说另类| 国产精品中文字幕欧美| 欧美一个色资源| 亚洲成人一区在线| 日本高清免费不卡视频| 国产欧美一区二区三区鸳鸯浴 | 亚洲欧洲日产国码二区| 久久91精品国产91久久小草| 欧美综合天天夜夜久久| 国产精品久久久久aaaa樱花| 国产成人啪午夜精品网站男同| 91精品一区二区三区久久久久久 | 国产免费观看久久| 九九视频精品免费| 欧美岛国在线观看| 日本亚洲欧美天堂免费| 欧美日韩国产综合一区二区三区| 国产精品久久久久aaaa樱花| 福利一区福利二区| 国产日韩欧美a| 粉嫩久久99精品久久久久久夜 | 欧美二区三区91| 亚洲成a人片综合在线| 欧美视频一二三区| 亚洲午夜精品17c| 欧美久久久影院| 日韩一区精品视频| 欧美一级高清片| 麻豆国产91在线播放| 欧美mv日韩mv| 成人中文字幕合集| 中文字幕国产一区二区| jizz一区二区| 亚洲线精品一区二区三区| 色老汉一区二区三区| 亚洲一区二区五区| 91.麻豆视频| 国产专区综合网| 欧美国产成人精品| 97国产精品videossex| 亚洲免费资源在线播放| 欧美三级午夜理伦三级中视频| 亚洲图片有声小说| 日韩视频在线你懂得| 国产成人精品亚洲午夜麻豆| 国产精品福利一区| 欧美视频一二三区| 国产一区二区精品久久| 最好看的中文字幕久久| 欧美精品色一区二区三区| 美女精品一区二区| 国产精品素人视频| 在线一区二区视频| 久久精品国产77777蜜臀| 国产精品色婷婷久久58| 欧美视频在线不卡| 国产在线精品一区二区不卡了| 《视频一区视频二区| 6080yy午夜一二三区久久| 国产成人av福利| 又紧又大又爽精品一区二区| 欧美成人三级在线| 色域天天综合网| 国产精品一区二区免费不卡| 亚洲成人自拍偷拍| 国产女人aaa级久久久级| 欧美日韩大陆在线| 成人午夜激情视频| 丝袜亚洲另类欧美| 国产精品第五页| 欧美v亚洲v综合ⅴ国产v| 91免费在线播放| 久久国产免费看| 午夜伊人狠狠久久| 国产精品国产三级国产普通话99| 欧美一级理论片| 在线观看www91| 不卡区在线中文字幕| 麻豆久久久久久| 亚洲图片自拍偷拍| 1区2区3区国产精品| 久久女同精品一区二区| 欧美一区二区视频观看视频| 色综合色狠狠综合色| 国产一区二区导航在线播放| 日韩不卡免费视频| 无吗不卡中文字幕| 亚洲在线中文字幕| 亚洲免费看黄网站| 国产精品久久久久aaaa| 久久久国际精品| 久久久久99精品一区| 亚洲精品一区二区三区福利| 欧美日韩国产高清一区| 欧美性受xxxx| 欧美日本乱大交xxxxx| 色老汉av一区二区三区| 色综合久久88色综合天天| 99视频精品全部免费在线| 国产成人在线色| 国产99久久精品| 粉嫩蜜臀av国产精品网站| 国产伦精品一区二区三区视频青涩 | 男人的天堂亚洲一区| 午夜精品免费在线观看| 亚洲午夜久久久久久久久久久| 亚洲精品日产精品乱码不卡| 中文字幕一区二区三区不卡在线| 亚洲国产精华液网站w| 亚洲国产成人在线| 中文字幕日韩欧美一区二区三区| 国产女人18毛片水真多成人如厕 | 日韩欧美成人午夜| 欧美不卡激情三级在线观看| 久久先锋影音av| 久久久久久久久免费| 久久你懂得1024| 国产精品色婷婷| 亚洲精品国产精华液| 亚洲综合无码一区二区| 亚洲va欧美va人人爽| 青青青伊人色综合久久| 久久se精品一区精品二区| 国产精品资源网| 色综合天天综合网国产成人综合天| 色94色欧美sute亚洲线路一ni| 91精品福利在线| 日韩一区二区在线看| 久久久久久一级片| 中文字幕在线视频一区| 亚洲在线一区二区三区| 日韩av一二三| 成人的网站免费观看| 在线精品观看国产| 欧美大片在线观看一区| 一区在线中文字幕| 丝袜美腿高跟呻吟高潮一区| 国内精品在线播放| 色综合久久综合网| 欧美一区二区网站| 国产精品麻豆视频| 欧美aⅴ一区二区三区视频| 成人国产电影网| 91.com视频| 综合久久久久久| 久久超碰97中文字幕| 91农村精品一区二区在线| 欧美一区二区视频免费观看| 亚洲欧洲美洲综合色网| 蜜桃视频第一区免费观看| 波多野结衣中文字幕一区二区三区| 91麻豆精品国产综合久久久久久 | 精品国产乱码久久久久久老虎| 国产精品―色哟哟| 麻豆精品视频在线观看视频| 99这里都是精品| 久久久精品国产免费观看同学| 亚洲一区二区三区四区的| 处破女av一区二区| 日韩视频在线永久播放| 一区av在线播放| 丁香啪啪综合成人亚洲小说 | 一区二区三区在线视频观看| 国产一区二区三区免费| 欧美日本在线播放| 中文字幕亚洲成人| 国产一区 二区 三区一级| 91精品国产综合久久福利| 亚洲色图视频网| 国产激情偷乱视频一区二区三区| 在线成人免费观看| 亚洲一线二线三线久久久| 99久久精品国产网站| 久久久久久久综合日本| 日韩1区2区3区| 91精品欧美久久久久久动漫| 亚洲综合图片区| 91在线porny国产在线看| 中文字幕乱码一区二区免费| 极品少妇xxxx偷拍精品少妇| 日韩免费高清视频| 天天综合色天天综合色h| 色一情一伦一子一伦一区| 18涩涩午夜精品.www| av在线免费不卡| 国产精品久久久久一区二区三区共| 高清在线成人网| 国产精品灌醉下药二区| 99re在线精品| 亚洲精品少妇30p| 欧美亚洲自拍偷拍|