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

主頁 > 知識庫 > PHP 觀察者模式深入理解與應用分析

PHP 觀察者模式深入理解與應用分析

熱門標簽:聊城電話外呼系統公司 銅川電話機器人價格 沛縣400電話辦理 智能電話機器人好公司門薩維 辦理重慶400電話 江蘇電商外呼系統運營商 AI電話機器人OEM貼牌 德陽中江如何申請400開頭電話 青白江地圖標注

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

用模式開發的優點是,能讓我們的邏輯結構以及代碼更加清晰,便于維護!

而我們為什么要用 “觀察者模式”?這就需要從實際運用中來理解才能更好的運用!用如下的情境來說明吧。

事例,開始時我被安排做項目的登錄,很快我就完成了。然后產品提出了另一個需求,用戶登錄后,給他們推送一條實時消息!然后我在登錄成功的邏輯后加了一段代碼,完成了登錄后的實時消息推送。然而事情還沒有完,產品又給加了個需求,需要給新登錄的用戶10塊錢紅包獎勵,這個當然很簡單,我又在消息推送后加了代碼,完成了新登錄用戶的紅包獎勵(錢怎么到賬的過程暫且不論),然而事情還沒完沒了了,產品不斷的在加需求了,如非vip用戶登錄,給他推送10條需要注冊VIP才能打開的信息,如根據客戶習慣推送10條客戶偏好的信息,如vip快到期的客戶需要在客戶登錄后提醒要充值啦。。。。。。。等等,如是這般,那我就得不停的在登錄后加代碼,變得我開始看不懂哪個xxx寫的代碼了!

那么此時我們就得考慮用‘觀察者模式'了

可以以這樣的方式簡單明了形容 觀察者模式, 某個商場門口安排一個人進行觀察,觀察到有a類型的顧客進門,立即安排敲鑼、打鼓、送鮮花,觀察到有b類客戶,立即安排購物袋,觀察到c類客戶,嗯嗯感覺他是來打醬油了,安排不要浪費表情了,什么歡迎儀式也沒有。。。。。也就是說 觀察者就是個‘勢利眼',看人下彩,根據觀察給進來的顧客安排對應的某個服務或者某些服務!也許這個形容還不夠恰當,但大體意思差不多了。

接下來就是重點了,描述了觀察者模式的輪廓,那么就需要轉化為代碼來實際運用了!

一、首先得有兩個接口類,用以框定觀察者模式,

一個被觀察者接口類(一般申明有三個必須方法:1.添加觀察者對象的方法,2.刪除觀察者對象的方法 ,3.通知觀察者進行  相應執行的方法),

一個觀察者接口類(一般只有一個必須方法,就是執行)

如果直接甩代碼可能有點難理解,那么就先給個示意圖來明確一下吧!

二、根據觀察者接口類的框定我們定下接口類如下代碼:

(示例是網上抄的,因為易于理解,申明一下出處,網址:https://www.jb51.net/article/170753.htm):

?php
// 被觀察者接口
interface Subject{
  public function register(Observer $observer); //添加(注冊)觀察者對象
  public function detach(Observer $observer);  //刪除觀察者對象
  public function notify();           //通知觀察者執行相應功能
}
// 觀察者接口
interface Observer{
  public function watch();  //觀察者要執行的方法
}

三、根據框定的結構,大概的理解一下就是,要實現 被觀察者對象 存儲各種觀察者對象(完成各種功能的對象)存儲起來,然后通只各觀察者執行自己的功能,先看看如下的實現代碼

?php
// 被觀察者繼承類
class Action implements Subject{
   public $_observers=array(); //用于存儲觀察者對象
   //用于添加(注冊)觀察者對象
   public function register(Observer $observer){
     $this->_observers[]=$observer;
   }
   //用于刪除觀察者對象
   public function detach(Observer $observer){
    $index = array_search($observer, $this->_observers);
    if ($index === FALSE || ! array_key_exists($index, $this->_observers)) {
      return FALSE;
    }
    unset($this->_observers[$index]);
    return TRUE;
   }
   //通知各觀察者
   public function notify(){
     //****重點,其實就是循環中執行各觀察這對象的watch方法,不同功能方法內容不同但方法名相同
     foreach ($this->_observers as $observer) {
       $observer->watch();
     }
   }
 }
// cat觀察者繼承類
class Cat implements Observer{
   public function watch(){
     echo "Cat watches TVhr/>";
   }
 } 
 //dog觀察者繼承類
 class Dog implements Observer{
   public function watch(){
     echo "Dog watches TVhr/>";
   }
 } 
 //people觀察者繼承類
 class People implements Observer{
   public function watch(){
     echo "People watches TVhr/>";
   }
 }

好了,我們現在通過上面的繼承就能明白了,觀察者就是定義各種功能的對象(這些對象就是:比如給第一次登錄的用戶發紅包,給用戶最新的10條文章推送,給非vip用戶推送10條需要注冊才能打開的視頻誘導用戶開通vip。。。。),被觀察者對象要實現的就是 將添加(注冊)的觀察者對象存儲起來并逐個通知執行觀察者各自的功能,

四、那么就進行實例化對象進行操作了!代碼如下:

// 應用實例
$action=new Action();
$action->register(new Cat());
$action->register(new People());
$action->register(new Dog());
$action->notify();

到這里我想如果應該是有所理解了,如果我的理解有誤請提建議,當然這只是觀察者模式的一個簡單過程,實際開發中會有所改動,當然大體脈絡就是這樣的!

還有一點個人的觀點是,如果我們需要搞清楚各種開發模式運用,那么就要從它能解決的需求理解,面向對象編程它是來源于生活,應用于生活的,從這種模式解決的需求上進行理解,然后我們才能明白架構定義出來的代碼(說得玄一點就是將 想法轉化為代碼來實現,通過代碼 得到我們想要的結果) 。寫下這些其實也不為其他,只是想加深自己的印象,同時也希望對其他 同行的朋友有所助益!

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

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

您可能感興趣的文章:
  • PHP設計模式之觀察者模式入門與應用案例詳解
  • php模式設計之觀察者模式應用實例分析
  • PHP使用觀察者模式處理異常信息的方法詳解
  • php設計模式之觀察者模式定義與用法經典示例
  • PHP中常用的三種設計模式詳解【單例模式、工廠模式、觀察者模式】
  • PHP觀察者模式實例分析【對比JS觀察者模式】
  • PHP設計模式之觀察者模式定義與用法分析
  • PHP觀察者模式定義與用法實例分析
  • 解析PHP觀察者模式Observer

標簽:赤峰 鷹潭 三亞 南寧 迪慶 烏魯木齊 山南 濟寧

巨人網絡通訊聲明:本文標題《PHP 觀察者模式深入理解與應用分析》,本文關鍵詞  PHP,觀察者,模式,深入,理解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP 觀察者模式深入理解與應用分析》相關的同類信息!
  • 本頁收集關于PHP 觀察者模式深入理解與應用分析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一本高清dvd不卡在线观看| 亚洲精品视频在线| 国产精品自在在线| 亚洲在线一区二区三区| 国产亚洲综合色| 精品国精品国产| 777欧美精品| 91成人在线免费观看| 一本大道久久a久久精二百| 国产成人免费视频一区| 久久超碰97中文字幕| 天堂成人免费av电影一区| 一区二区欧美精品| 久久国产福利国产秒拍| 成人av在线播放网站| 国产在线乱码一区二区三区| 美腿丝袜亚洲一区| 日本sm残虐另类| 日韩中文字幕区一区有砖一区| 亚洲一区国产视频| 亚洲二区在线观看| 日本中文字幕一区二区有限公司| 午夜私人影院久久久久| 天天操天天干天天综合网| 日日嗨av一区二区三区四区| 狂野欧美性猛交blacked| 另类小说视频一区二区| 久久精品国产精品青草| 久久av老司机精品网站导航| 久久成人精品无人区| 国产精品 欧美精品| www.欧美精品一二区| 91成人在线精品| 欧美丰满高潮xxxx喷水动漫| 日韩你懂的电影在线观看| 精品国产乱码久久久久久影片| 久久亚洲一区二区三区明星换脸| 国产欧美日本一区二区三区| 国产精品欧美精品| 亚洲第一av色| 国产毛片精品国产一区二区三区| 久久97超碰国产精品超碰| 国产福利一区二区三区视频在线| 成人av在线网站| 欧美人伦禁忌dvd放荡欲情| 精品国产乱码久久久久久久| 亚洲欧美中日韩| 天堂久久一区二区三区| 成人免费视频视频在线观看免费 | 国产亲近乱来精品视频 | 樱花影视一区二区| 日韩高清不卡在线| 成人精品一区二区三区四区| 欧美视频一区二区三区四区| 欧美精品一区二区三区蜜桃视频| 亚洲国产精品传媒在线观看| 水蜜桃久久夜色精品一区的特点| 国产91精品久久久久久久网曝门| 欧美专区在线观看一区| 久久这里只精品最新地址| 一区二区三区成人| 国产91精品免费| 欧美一级一区二区| 一区二区三区不卡视频| 成人一区二区三区在线观看| 欧美一区二区三级| 亚洲一区二区三区四区的 | 国产精品一品二品| 欧美日韩国产另类一区| 综合电影一区二区三区 | 精品福利视频一区二区三区| 亚洲视频综合在线| 国产高清久久久久| 欧美精品一区在线观看| 亚洲成人动漫一区| 91麻豆免费看| 国产精品素人视频| 国产成人在线视频网址| 欧美一级片在线| 亚洲成人777| 欧美四级电影在线观看| 一区二区三区在线免费视频| 成人久久18免费网站麻豆| 久久九九全国免费| 免费高清在线视频一区·| 欧美日韩国产经典色站一区二区三区 | 亚洲电影你懂得| 99re66热这里只有精品3直播| 国产女人18毛片水真多成人如厕 | 日本网站在线观看一区二区三区| 在线中文字幕一区| 亚洲精品伦理在线| 91国内精品野花午夜精品| 亚洲日本在线观看| 91国偷自产一区二区使用方法| 亚洲视频一区二区在线观看| av高清不卡在线| 亚洲少妇30p| 91国偷自产一区二区三区观看| 亚洲欧美另类图片小说| 色老汉一区二区三区| 亚洲一区二区三区四区在线观看| 欧美日韩精品欧美日韩精品一 | 亚洲成人激情社区| 欧美一级理论性理论a| 久久激情五月激情| 亚洲欧美经典视频| 91在线观看成人| 亚洲mv在线观看| 精品久久久久久亚洲综合网| 国产精品一二一区| 国产精品久久久久9999吃药| 色婷婷狠狠综合| 青青草原综合久久大伊人精品 | 久久久久国产精品免费免费搜索 | 欧美三级乱人伦电影| 亚洲午夜一区二区| 色综合天天综合在线视频| 国产一区二区在线视频| 成人免费电影视频| 中文字幕不卡在线观看| 色欧美88888久久久久久影院| 一本一道久久a久久精品综合蜜臀| 91视频免费播放| 色呦呦日韩精品| 欧美性极品少妇| 欧美精品xxxxbbbb| 久久日韩粉嫩一区二区三区| 国产精品麻豆一区二区| 亚洲女性喷水在线观看一区| 亚洲成人动漫av| 国产一区在线看| 色一情一伦一子一伦一区| 欧美日韩五月天| 精品国产sm最大网站免费看| 国产精品久久一卡二卡| 夜夜嗨av一区二区三区中文字幕| 男女男精品视频网| 成人av在线播放网址| 欧美高清视频不卡网| 国产亚洲一区二区三区| 日韩美女啊v在线免费观看| 性久久久久久久久| 国产一区二区三区久久悠悠色av| 91片在线免费观看| 欧美精品一区二区久久婷婷| 亚洲视频在线一区观看| 麻豆国产精品777777在线| 成人综合日日夜夜| 91精品国产91久久久久久最新毛片| 亚洲国产成人自拍| 五月天激情综合| yourporn久久国产精品| 欧美日韩国产综合久久| 国产日本欧美一区二区| 亚洲成人av电影| 99免费精品在线观看| 日韩欧美精品在线| 亚洲精品成人少妇| 风流少妇一区二区| 欧美一区二区三区啪啪| 亚洲免费在线视频一区 二区| 激情五月婷婷综合| 欧美午夜影院一区| 中文字幕一区二区三区在线观看| 韩国三级电影一区二区| 精品1区2区3区| 综合欧美亚洲日本| 欧美私模裸体表演在线观看| 久久久91精品国产一区二区三区| 首页国产欧美日韩丝袜| 91丨porny丨蝌蚪视频| 国产精品久久午夜| 国模套图日韩精品一区二区| 91.xcao| 亚洲一区二区四区蜜桃| 色婷婷综合五月| 国产精品灌醉下药二区| 国产成人一区二区精品非洲| 欧美一区二区三区在线观看视频 | 国产女主播一区| 国产精品一区久久久久| 日韩一区二区免费高清| 午夜av一区二区| 欧美丝袜自拍制服另类| 亚洲国产欧美在线| 欧美日韩一区二区三区在线| 久久麻豆一区二区| 九色porny丨国产精品| 日韩一区二区不卡| 视频一区中文字幕国产| 欧美午夜电影网| 亚洲国产乱码最新视频| 在线中文字幕一区| 亚洲成人动漫在线观看| 91精品免费观看| 久久国产综合精品| 久久久精品一品道一区| 大白屁股一区二区视频| 国产蜜臀av在线一区二区三区|