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

主頁 > 知識庫 > php設計模式之抽象工廠模式分析【星際爭霸游戲案例】

php設計模式之抽象工廠模式分析【星際爭霸游戲案例】

熱門標簽:山西探意電話機器人 百應電話機器人服務 騰訊外呼管理系統 河南電銷卡外呼系統哪家強 岳陽外呼型呼叫中心系統在哪里 揚州地圖標注app 山西回撥外呼系統 昭通辦理400電話 青島語音外呼系統招商

本文實例講述了php設計模式之抽象工廠模式。分享給大家供大家參考,具體如下:

星際爭霸是戰略游戲,所以同樣的兵種,敵我顯示是不同的。
典型的就是鼠標的顏色,點中自己的物體的時候,鼠標顏色變成綠色,點中敵人的物體的時候,鼠標顏色變成紅色。
還有就是每個物體的狀態,點中自己的物體的時候,狀態區顯示完整的狀態,點中敵人的物體的時候,狀態區顯示一部分信息。
我們假設只考慮鼠標和人族的運輸船,玩家自己的運輸船點中后狀態區會顯示里面裝載的部隊,而點中敵人的則不會顯示里面是否裝載部隊。
這樣我們就有四種對象:點中自己的鼠標,點中敵人的鼠標,自己的運輸船狀態,敵人的運輸船狀態。
如果用工廠方法模式,就要建立四個具體工廠(或者子工廠),這樣的代碼不便于維護和修改,因為我們以后要增加另一種情況:盟友。

待解決的問題:我們希望將這些對象聯系起來,使得工廠的操作更加有邏輯性。

思路:既然我們通過自己和敵人來區分對象,那么統一歸屬的對象放入相同的具體工廠,每個具體工廠負責制造多種對象。

抽象工廠模式示例:

?php
  //四個產品類
  //點中自己的物體時的鼠標
  class mineMouse
  {
    //鼠標的顏色
    public $color = 'green';
  }
  //點中敵人的物體時的鼠標
  class enemyMouse
  {
    //鼠標的顏色
    public $color = 'red';
  }
  //自己的運輸船狀態
  class mineDropship
  {
    //顯示裝載的情況,假設2輛坦克
    public $loading = '2 tanks';
  }
  //敵人的運輸船狀態
  class enemyDropship
  {
    //不顯示裝載的情況
    public $loading = '';
  }
  //主工廠類,也叫抽象工廠類
  class abstractCreator
  {
    //根據參數分配工作到具體的工廠,并返回具體工廠對象
    public function getCreator($belong)
    {
      //獲取具體工廠的類名
      $creatorClassName = $belong.'Creator';
      //返回具體工廠對象
      return new $creatorClassName();
    }
  }
  //具體工廠必須執行的接口
  interface productCreator
  {
    //制造方法,或者說根據參數返回產品(鼠標,運輸船)的方法
    public function creatProduct($productName);
  }
  //制造屬于自己的物體的具體工廠,執行接口
  class mineCreator implements productCreator
  {
    //根據參數生產并返回屬于自己的產品
    public function creatProduct($productName)
    {
      //獲取產品的類名
      $productClassName = 'mine'.$productName;
      //返回產品對象
      return new $productClassName;
    }
  }
  //制造屬于敵人的物體的具體工廠,執行接口
  class enemyCreator implements productCreator
  {
    //根據參數生產并返回屬于敵人的產品
    public function creatProduct($productName)
    {
      //獲取產品的類名
      $productClassName = 'enemy'.$productName;
      //返回產品對象
      return new $productClassName;
    }
  }
  //開始操作
  //新建抽象工廠對象
  $abstractCreator = new abstractCreator();
  //根據歸屬,得到具體工廠對象,這里先演示敵人的
  $realCreator1 = $abstractCreator->getCreator('enemy');
  //讓具體工廠對象生產鼠標對象
  $product1 = $realCreator1->creatProduct('Mouse');
  //讓鼠標對象顯示顏色,顯示結果red
  echo $product1->color;
  //根據歸屬,得到另一個具體工廠對象,這里演示自己的
  $realCreator2 = $abstractCreator->getCreator('mine');
  //讓具體工廠對象生產運輸船
  $product2 = $realCreator2->creatProduct('Dropship');
  //讓運輸船對象顯示裝載對象,顯示結果2 tanks,兩輛坦克
  echo $product2->loading;
?>

運行結果:

red2 tanks

用途總結:抽象工廠模式將擁有相同屬性的產品歸類到同一個具體工廠,減少具體工廠的數量,操作的時候,可以理清職責。

實現總結:需要一個根據屬性返回具體工廠對象的抽象工廠,比如上面abstractCreator,同時需要將各個產品的屬性(自己的,敵人的)進行歸類,根據屬性建立各個具體工廠,每個具體工廠制造多個具有相同屬性的不同產品(鼠標和運輸船)。

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

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

您可能感興趣的文章:
  • php設計模式之組合模式實例詳解【星際爭霸游戲案例】
  • php設計模式之策略模式實例分析【星際爭霸游戲案例】
  • php設計模式之狀態模式實例分析【星際爭霸游戲案例】
  • php設計模式之正面模式實例分析【星際爭霸游戲案例】
  • php設計模式之模板模式實例分析【星際爭霸游戲案例】
  • php設計模式之備忘模式分析【星際爭霸游戲案例】
  • php設計模式之原型模式分析【星際爭霸游戲案例】
  • php設計模式之代理模式分析【星際爭霸游戲案例】
  • php設計模式之享元模式分析【星際爭霸游戲案例】
  • php設計模式之中介者模式分析【星際爭霸游戲案例】
  • php設計模式之建造器模式分析【星際爭霸游戲案例】
  • php設計模式之職責鏈模式實例分析【星際爭霸游戲案例】

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

巨人網絡通訊聲明:本文標題《php設計模式之抽象工廠模式分析【星際爭霸游戲案例】》,本文關鍵詞  php,設計模式,之,抽象,工廠,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php設計模式之抽象工廠模式分析【星際爭霸游戲案例】》相關的同類信息!
  • 本頁收集關于php設計模式之抽象工廠模式分析【星際爭霸游戲案例】的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    日韩av在线播放中文字幕| 欧美日韩亚洲综合在线 | 久久久噜噜噜久久人人看| 麻豆久久一区二区| 精品少妇一区二区三区视频免付费 | 欧美性猛交xxxx乱大交退制版| 日本不卡在线视频| 久久―日本道色综合久久| 国产中文字幕一区| 久久这里只精品最新地址| 日韩国产欧美在线视频| 国产午夜精品一区二区三区视频 | 亚洲国产精品二十页| 欧美午夜片在线观看| 美日韩黄色大片| 亚洲免费在线播放| 久久久99久久精品欧美| 欧美高清性hdvideosex| 成人av免费在线| 久久99精品久久久久婷婷| 最近中文字幕一区二区三区| 亚洲高清不卡在线| 国产欧美日韩三级| 欧美福利视频一区| 99久久99久久精品免费观看| 一区二区免费在线播放| 久久综合狠狠综合久久综合88 | 色香蕉久久蜜桃| 色偷偷88欧美精品久久久| 日本aⅴ亚洲精品中文乱码| 国产精品家庭影院| 国产精品久久久久久久久搜平片 | 国产女同性恋一区二区| 制服丝袜日韩国产| 51久久夜色精品国产麻豆| 欧美怡红院视频| 精品视频在线视频| 欧美日韩一卡二卡| 91国偷自产一区二区开放时间| 大白屁股一区二区视频| 国产成人精品影视| 91老师片黄在线观看| 久久99精品网久久| 国产精品456| 色欧美88888久久久久久影院| 91视频观看视频| 日韩三级在线免费观看| www久久久久| 亚洲资源中文字幕| 看电视剧不卡顿的网站| 成人av中文字幕| 91精品国产综合久久精品图片 | 亚洲制服丝袜一区| 国产一区二区三区在线观看免费| 国产suv一区二区三区88区| 99国产精品99久久久久久| 91麻豆精品国产91久久久| 久久精品夜夜夜夜久久| 亚洲在线视频一区| 久久精品国产99国产| 国产乱国产乱300精品| 欧美在线一区二区三区| 日韩欧美国产综合一区 | 91视频com| 国产网红主播福利一区二区| 亚洲乱码国产乱码精品精可以看| 国产一区二区三区在线观看免费视频| kk眼镜猥琐国模调教系列一区二区| 日本高清视频一区二区| 日韩区在线观看| 亚洲已满18点击进入久久| 国产精品正在播放| 日韩精品影音先锋| 青青草伊人久久| 欧美一区二区三级| 亚洲不卡一区二区三区| 欧美精品视频www在线观看 | 国产91丝袜在线观看| 欧美一区二区三区男人的天堂| 136国产福利精品导航| 91蜜桃传媒精品久久久一区二区| 中文字幕巨乱亚洲| 97精品视频在线观看自产线路二| 欧美视频三区在线播放| 亚洲精品高清在线| 欧美乱熟臀69xxxxxx| 奇米色一区二区| 久久网这里都是精品| 91免费看视频| 三级亚洲高清视频| 2020国产精品久久精品美国| 成人免费高清视频| 亚洲国产一区二区a毛片| 欧美精品一区二区三区蜜桃| www.欧美精品一二区| 日本中文字幕不卡| 国产精品久久看| 日韩欧美视频一区| 色哟哟一区二区在线观看| 另类小说视频一区二区| 亚洲美女偷拍久久| 欧美r级在线观看| 欧美性极品少妇| av在线播放不卡| 黑人巨大精品欧美一区| 国产精品久久久久久久久果冻传媒 | 欧美疯狂性受xxxxx喷水图片| 国产成人精品亚洲日本在线桃色| 亚洲午夜久久久久久久久电影网 | 久久99在线观看| 日韩主播视频在线| 午夜激情一区二区三区| 亚洲精品日韩综合观看成人91| 久久精品一区二区三区不卡牛牛| 欧美日本乱大交xxxxx| 欧美日韩一级大片网址| 2023国产精品自拍| 亚洲精品自拍动漫在线| 久久国产人妖系列| 91麻豆swag| 欧美一级在线免费| 国产精品国产三级国产有无不卡| 婷婷开心久久网| 色一区在线观看| 国产精品三级久久久久三级| 日本午夜一区二区| 在线国产亚洲欧美| a在线播放不卡| 91论坛在线播放| 欧美福利视频一区| 亚洲国产高清不卡| 一区二区三区美女| 国产精品1024| 欧美日韩精品系列| 亚洲欧洲日韩综合一区二区| 亚洲精品成人精品456| 国产一区激情在线| 色哟哟一区二区在线观看| 色婷婷亚洲婷婷| 国产欧美一区在线| 看电视剧不卡顿的网站| 在线观看视频一区| 欧美激情一区二区三区蜜桃视频| 日韩在线a电影| 色菇凉天天综合网| 中文字幕精品一区二区三区精品| 日韩精品91亚洲二区在线观看 | 欧美激情综合五月色丁香小说| 婷婷久久综合九色国产成人| 精品成人一区二区| 亚洲综合久久久久| www..com久久爱| 欧美麻豆精品久久久久久| 日韩精品综合一本久道在线视频| 国产偷v国产偷v亚洲高清| 欧美成人伊人久久综合网| 精品国产乱码久久| 亚洲成av人影院在线观看网| av在线不卡网| 欧美xxxxx牲另类人与| 亚洲高清免费观看 | 国产精品性做久久久久久| 精品三级在线看| 视频一区二区中文字幕| 成人美女在线视频| 日韩美女精品在线| 欧美私人免费视频| 三级亚洲高清视频| 久久综合九色综合欧美98| 国产成人午夜高潮毛片| 国产精品福利一区| 日韩亚洲电影在线| 成人精品小蝌蚪| 五月开心婷婷久久| 欧美激情一区二区三区| 色综合天天综合网天天看片| 日韩av网站在线观看| 国产喷白浆一区二区三区| 欧美亚洲一区二区在线| 国产一区二区不卡老阿姨| 亚洲婷婷在线视频| 亚洲精品在线观| 欧美日韩一区二区三区不卡| 国产成人午夜视频| 日韩国产一区二| 亚洲综合区在线| 国产精品少妇自拍| 欧美日韩国产首页在线观看| 韩日精品视频一区| 日韩国产高清影视| 亚洲综合在线免费观看| 国产精品美女久久久久aⅴ| 91精品国产色综合久久不卡电影 | 国产人成一区二区三区影院| 日韩亚洲欧美中文三级| 在线播放91灌醉迷j高跟美女| 91麻豆.com| 91视频国产观看| 91一区在线观看| 一本到三区不卡视频|