国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

php設計模式之模板模式實例分析【星際爭霸游戲案例】

瀏覽:89日期:2022-09-11 09:07:51

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

星際中的蟲族部隊有個特別的進化兵種,就是飛龍,飛龍可以變成空中衛士(天蟹)或者吞噬者(對空的)。另外還有口水兵可以進化變成地刺。

這三個變化過程都是類似的:變化的原部隊消失,產生一個蛋或繭,孵化一會兒,蛋消失,新的部隊產生。

如果我們把這三個進化獨立開,就會產生重復的代碼,冗余度增大了,所以我們要設法減少多余的代碼。

待解決的問題:要經歷同樣的幾個步驟,只是每個步驟的細節會有不同。

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

模板模式模式示例:

<?php //進化的框架類,它是個抽象類 abstract class evolution { //框架方法,由它來實施各個步驟,用final禁止子類覆蓋 final public function process($troop) { //生成一個蛋,參數為進化的部隊 $egg = $this->becomeEgg($troop); //等待蛋孵化,參數為蛋 $this->waitEgg($egg); //孵化后產生新部隊 return $this->becomeNew($egg); } //下面三個抽象方法,由具體子類來實現 abstract public function becomeEgg($troop); abstract public function waitEgg($egg); abstract public function becomeNew($egg); } //為了簡單說明,這里用空中衛士(天蟹)的進化類來演示,地刺等的處理方法類似 //天蟹的進化類繼承抽象進化類 class GuardianEvolution extends evolution { //實現生成一個蛋 public function becomeEgg($troop) { //銷毀飛龍,返回一個蛋的對象的代碼 } //等待蛋孵化 public function waitEgg($troop) { //等待幾十秒鐘的代碼 } //孵化后產生新部隊 public function becomeNew(($troop) { //銷毀蛋,返回一個天蟹 } } //新建一個天蟹進化的對象 $e1 = new GuardianEvolution(); //讓它調用父類的進化框架函數,自動完成三個步驟 $e1->process($sds);?>

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

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

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

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

標簽: PHP
相關文章:
主站蜘蛛池模板: 久久亚洲国产最新网站 | 久久久久久91精品色婷婷 | 免费黄色一级网站 | 亚洲国产欧美视频 | 亚洲精品一区二区三区五区 | 欧美高清日韩 | 国产三级日本三级美三级 | 毛片视频网站 | 男女免费爽爽爽在线视频 | 亚洲精品久久精品h成人 | 高清午夜毛片 | 九色国产在线 | 久草欧美视频 | 97免费视频观看 | 大桥未久在线精品视频在线 | 色拍拍在精品视频69影院在线 | 一级国产交换配乱淫 | 国产网站黄色 | 亚洲国产成人久久综合一区77 | 亚洲国产精品专区 | 日本亚洲高清 | 成人国产精品一区二区网站 | 欧美综合在线观看 | 国产成人精品久久亚洲高清不卡 | 一级做a爰片性色毛片视频图片 | 台湾黄三级高清在线观看播放 | 成年男女的免费视频网站 | 爽死你个放荡粗暴小淫货双女视频 | 午夜久久影院 | 日本精品一区二区三区在线视频一 | 国产一级做a爰片久久毛片99 | 成人国产精品高清在线观看 | 欧美在线小视频 | 久久99国产综合精品 | 在线观看亚洲人成网站 | 模特三级在线观看 | 国产aaaaa一级毛片 | 亚洲人成在线播放网站 | 亚洲国产天堂久久九九九 | 免费视频久久看 | 久久国产午夜精品理论片34页 |