亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:66日期:2022-09-11 08:06:55

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

星際的兵種屬性隨著對平衡性的調節,會進行修改。如果這樣的話,我們就要考慮減少一個事件和具體處理的關聯性。

比如一顆原子彈投下的瞬間,在殺傷范圍內的部隊或者建筑都會減少血,但是隨著距離中心點的遠近,受損程度是不同的,而且不同的兵種和建筑受損情況是不同的。

待解決的問題:原子彈投下的瞬間,將殺傷的處理分別交給殺傷范圍內的部隊或者建筑自己的方法處理。

思路:建立一個接口,讓所有的部隊或者建筑實現。

職責鏈模式(Chain of Responsibility)示例:

<?php //被原子彈攻擊的接口 interface NuclearAttacked { //處理被原子彈攻擊的方法,參數為投放點的x和y坐標 public function NuclearAttacked($x, $y); } //人族的基地,實現被原子彈攻擊的接口,其他的內容暫時不考慮 class CommandCenter implements NuclearAttacked { //處理被原子彈攻擊的方法,參數為投放點的x和y坐標 public function NuclearAttacked($x, $y) { //根據離原子彈中心的距離,定義減少的血,如果超出了剩余的血,就炸掉 } } //巡洋艦(俗稱大和),實現被原子彈攻擊的接口,其他的內容暫時不考慮 class Battlecruiser implements NuclearAttacked { //處理被原子彈攻擊的方法,參數為投放點的x和y坐標 public function NuclearAttacked($x, $y) { //根據離原子彈中心的距離,定義減少的血,如果超出了剩余的血,就炸掉 } } //原子彈類 class Nuclear { //被原子彈攻擊的對象 public $attackedThings; //添加被原子彈攻擊的對象 public function addAttackedThings($thing) { //添加被原子彈攻擊的對象 $this->attackedThings[] = $thing; } //原子彈爆炸的方法,參數為投放點的x和y坐標 public function blast($x, $y) { //把爆炸的事情交給所有涉及的對象,讓他們自己處理 foreach ($this->attackedThings as $thing) {//把爆炸的事情交給所有涉及的對象,讓他們自己處理$thing->NuclearAttacked($x, $y); } } } //新建一個基地對象 $CommandCenter = new CommandCenter(); //新建一個巡洋艦對象 $Battlecruiser = new Battlecruiser(); //造了一顆原子彈 $Nuclear2 = new Nuclear(); //假設投放成功,那個瞬間一個基地對象和一個巡洋艦對象在殺傷范圍內 $Nuclear2->addAttackedThings($CommandCenter); $Nuclear2->addAttackedThings($Battlecruiser); //原子彈爆炸,這樣就把這個事件交給那些涉及的對象的處理方法,假設投放點的x和y坐標是2353, 368 $Nuclear2->blast(2353, 368);?>

用途總結:職責鏈模式可以將一個涉及到多個對象的事件的處理交給對象自己處理,減少關聯性。

實現總結:需要一個處理事件的接口,然后讓所有的對象實現。

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

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

標簽: PHP
相關文章:
主站蜘蛛池模板: 国产高清在线精品一区a | 国产午夜免费一区二区三区 | 亚洲黄色在线 | 日本在线日本中文字幕日本在线视频播放 | 欧美午夜精品一区二区三区 | 蕾丝视频在线看片国产 | 日韩中文在线 | 国产毛片毛片精品天天看 | 久久5| 欧美日韩亚洲一区二区精品 | 亚洲精品久久一区二区无卡 | 免费在线观看的黄色网址 | 国产91亚洲精品 | 国产免费久久精品99re丫y | 一区二区三区 日韩 | 香蕉在线视频观看 | 久久国产成人福利播放 | 免费日韩在线 | 欧美在线一级精品 | 一区二区手机视频 | 免费观看女人高清视频 | 美女被啪全免视频软件 | 成人欧美1314www色视频 | 久久国产精品二区99 | 韩国精品一区二区三区四区五区 | 亚洲一区二区黄色 | 操批视频| 在线观看日本免费视频大片 | 六月丁香激情网 | 亚洲综合色婷婷 | 国产视频一区二区 | 五月天激激婷婷大综合丁香 | 91porn国产| 91短视频免费版 | 91青青草视频 | 国内黄色一级片 | 国产一级做a爰片在线看免费 | 在线看一区 | 日本一区毛片免费观看 | 影音先锋5566手机在线播放 | 成人欧美精品一区二区不卡 |