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

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)怎么在php中應(yīng)用模板模式,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司技術(shù)團隊十年來致力于為客戶提供做網(wǎng)站、成都網(wǎng)站制作、品牌網(wǎng)站設(shè)計、營銷型網(wǎng)站、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團隊,先后服務(wù)、推廣了上千家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機構(gòu)單位。

待解決的問題:要經(jīng)歷同樣的幾個步驟,只是每個步驟的細節(jié)會有不同。


思路:做一個進化工程的框架,我們只要控制細節(jié)就可以了。

模板模式模式示例:

<?php
  //進化的框架類,它是個抽象類
  abstract class evolution 
  {
    //框架方法,由它來實施各個步驟,用final禁止子類覆蓋
    final public function process($troop)
    {
      //生成一個蛋,參數(shù)為進化的部隊
      $egg = $this->becomeEgg($troop);

      //等待蛋孵化,參數(shù)為蛋
      $this->waitEgg($egg);

      //孵化后產(chǎn)生新部隊
      return $this->becomeNew($egg);
    }

    //下面三個抽象方法,由具體子類來實現(xiàn)
    abstract public function becomeEgg($troop);

    abstract public function waitEgg($egg);

    abstract public function becomeNew($egg);
  }

  //為了簡單說明,這里用空中衛(wèi)士(天蟹)的進化類來演示,地刺等的處理方法類似

  //天蟹的進化類繼承抽象進化類
  class GuardianEvolution extends evolution 
  {
    //實現(xiàn)生成一個蛋
    public function becomeEgg($troop)
    {
      //銷毀飛龍,返回一個蛋的對象的代碼
    }

    //等待蛋孵化
    public function waitEgg($troop)
    {
      //等待幾十秒鐘的代碼
    }

    //孵化后產(chǎn)生新部隊
    public function becomeNew(($troop)
    {
      //銷毀蛋,返回一個天蟹
    }
  }

  //新建一個天蟹進化的對象
  $e1 = new GuardianEvolution();

  //讓它調(diào)用父類的進化框架函數(shù),自動完成三個步驟
  $e1->process($sds);

?>

用途總結(jié):模板模式可以將一系列的步驟自動化,同時又可以滿足不同的細節(jié)變化。

實現(xiàn)總結(jié):需要一個抽象類來包含框架函數(shù),讓具體的子類繼承它,并實現(xiàn)所有的步驟。使用的時候只要調(diào)用框架函數(shù)就自動完成了。

上述就是小編為大家分享的怎么在php中應(yīng)用模板模式了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當前文章:怎么在php中應(yīng)用模板模式-創(chuàng)新互聯(lián)
文章URL:http://bm7419.com/article32/dpddsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作響應(yīng)式網(wǎng)站、移動網(wǎng)站建設(shè)、Google網(wǎng)站設(shè)計公司、定制網(wǎng)站

廣告

聲明:本網(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)

成都seo排名網(wǎng)站優(yōu)化