怎么在php中應(yīng)用享元模式-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)怎么在php中應(yīng)用享元模式,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

我們提供的服務(wù)有:網(wǎng)站制作、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、鹽津ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的鹽津網(wǎng)站制作公司

待解決的問題:把把兵種的圖像動畫共享。


思路:我們把每個兵種的圖像動畫建模作為對象,放入內(nèi)存共享。一旦有某個畫面用到這個兵種,只要把共享的圖像動畫拿出來,更改顏色就可以了。

享元(Flyweight)模式示例:

<?php
 //機槍兵享元
 class MarineFlyweight
 {
  //繪制機槍兵的圖像動畫,參數(shù)為狀態(tài),比如屬于哪一個玩家
  public function drawMarine($state)
  {
   //繪制機槍兵
  }
 }

 //享元工廠
 class FlyweightFactory
 {
  //享元數(shù)組,用于存放多個享元
  private $flyweights;

  //獲取享元的方法
  public function getFlyweight($name)
  {
   if (!isset($flyweights[$name]))
   {
    $flyweights[$name] = new $name."Flyweight";
   }
   return $flyweights[$name];
  }
 }

 //初始化享元工廠
 $flyweightFactory = new FlyweightFactory();

 //當(dāng)我們需要繪制一個機槍兵的時候,同時傳遞一個狀態(tài)數(shù)組,里面包含剩余的血等等
 $marine = $flyweightFactory->getFlyweight("Marine");
 $marine->drawMarine($status);
?>

用途總結(jié):享元模式可以將需要共享的資源集中起來,統(tǒng)一管理,防止重復(fù)消耗。

實現(xiàn)總結(jié):需要一個享元工廠管理共享的資源,比如上面的FlyweightFactory。把所有共享的資源的生產(chǎn)全部交給個享元工廠。

關(guān)于怎么在php中應(yīng)用享元模式就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

當(dāng)前名稱:怎么在php中應(yīng)用享元模式-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://bm7419.com/article46/didpeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、微信公眾號、面包屑導(dǎo)航、網(wǎng)站排名、網(wǎng)站內(nèi)鏈品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)