好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > PHP設計模式之模板方法模式實例淺析

PHP設計模式之模板方法模式實例淺析

熱門標簽:兼職做地圖標注好賺錢嗎 地圖標注怎么做商戶驗證 打開百度地圖標注 亳州企業外呼系統 山東電銷卡外呼系統原理是什么 400 電話 辦理 海南外呼系統方案 蘇州外呼系統有效果嗎 智能電銷語音機器人資訊

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

定義一個操作中的算法的框架,而將一些步驟延遲到子類中。使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。

模板方法模式中會用到抽象模板,它的方法分為兩類:

  • 基本方法,也叫做基本操作,是由子類實現的方法,并且在模板方法被調用。
  • 模板方法,可以有一個或多個,一般是一個具體方法,也就是一個框架,實現基本方法的調度,完成固定邏輯。

注意: 為了防止惡意的操作,一般模板方法都加上final關鍵字,不允許被覆寫。

注意: 抽象模板中的基本方法盡量設計為protected類型,符合迪米特法則,不需要暴露的屬性或方法盡量不要設置為protected類型。實現類若非必要,盡量不要擴大父類中的訪問權限。

模板方法模式的優點

  • 封裝不變部分,擴展可變部分。
  • 提取公共部分代碼,便于維護。
  • 行為由父類控制,子類實現

示例:

?php
/**
 * 模型方法模式
 */
abstract class ACar {
  abstract protected function start();
  abstract protected function engineBoom();
  abstract protected function alarm();
  abstract protected function stop();
  public function run() {
    $this->start();
    $this->engineBoom();
    $this->alarm();
    $this->stop();
  }
}
final class Benz extends ACar {
  protected function start() {
    echo 'Benz start' . PHP_EOL;
  }
  protected function engineBoom() {
    echo 'Benz engine boom' . PHP_EOL;
  }
  protected function alarm() {
    echo 'Benz alarm' . PHP_EOL;
  }
  protected function stop() {
    echo 'Benz stop' . PHP_EOL;
  }
}
final class BMW extends ACar {
  protected function start() {
    echo 'BMW start' . PHP_EOL;
  }
  protected function engineBoom() {
    echo 'BMW engine boom' . PHP_EOL;
  }
  protected function alarm() {
    echo 'BMW alarm' . PHP_EOL;
  }
  protected function stop() {
    echo 'BMW stop' . PHP_EOL;
  }
  // 修改順序
  public function run() {
    $this->start();
    $this->alarm();
    $this->engineBoom();
    $this->stop();
  }
}
class Client {
  public static function run() {
    $benz = new Benz();
    $benz->run();
    $bmw = new BMW();
    $bmw->run();
  }
}
Client::run();

運行結果:

Benz start Benz engine boom Benz alarm Benz stop BMW start BMW alarm BMW engine boom BMW stop

注:部分內容摘自《設計模式之禪

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

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

您可能感興趣的文章:
  • php單態設計模式(單例模式)實例
  • php設計模式 Singleton(單例模式)
  • 基于php設計模式中單例模式的應用分析
  • 學習php設計模式 php實現單例模式(singleton)
  • PHP設計模式之單例模式原理與實現方法分析
  • PHP設計模式之抽象工廠模式實例分析
  • PHP設計模式之簡單工廠和工廠模式實例分析
  • PHP設計模式之工廠模式定義與用法詳解
  • PHP設計模式之單例模式定義與用法分析

標簽:萊蕪 綏化 呼倫貝爾 清遠 溫州 金華 紹興 安康

巨人網絡通訊聲明:本文標題《PHP設計模式之模板方法模式實例淺析》,本文關鍵詞  PHP,設計模式,之,模板,方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP設計模式之模板方法模式實例淺析》相關的同類信息!
  • 本頁收集關于PHP設計模式之模板方法模式實例淺析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 2020狠狠操| 隔壁的老师呻吟声| 老板在办公室扒下我的内裤| 娇妻带着别人的精让我看着| 国产1区| 日韩精品无码一区二区三区电影| 国产精品久久久亚洲偷窥女厕| 国产免费午夜| 美女逼逼图| 女明星们的yin荡生活| 扒开上部?狂揉下部?| 亚洲aⅴ久久久噜噜噜噜| 日本gifxxoo动态图片| 男女xo视频| 香港三级国语潘金莲| 女仆扒开腿秘?让人桶爽的电影| 小sao货水真多ji巴cao| 公与媳全肉欲| 网禁??拗女稀缺1300| 国产成+人+综合+亚洲不卡| 欧美性video老少配| 老师太大了快停下| 一面膜胸口一面吃下部位片段 | 娇小亚洲与黑人xxx| 免费看日本| 我与漂亮岳的肉欲生活| 女同性恋一区| 噗通噗通我爱你在线播放| 91在线公开视频| 热亚洲 热国产 热无码| 亚洲狠狠做婷婷一区二区三区伊人| k8性欧美经典片| 日日狠日| 乱h高h出轨| 日本黄视频在线观看| 国产毛片A级久久久不卡精品| 老司机在线精品视频91免费观看| 让女性发春的药品| 亚洲午夜免费| 91无码人妻精品一区二区帝霸网 | 亚洲AV无码吞精噜噜噜88|