php 設計模式(策略模式)

2021-08-03 04:25:46 字數 885 閱讀 2175

/**

* 策略模式是將一組特定的行為和演算法封裝成類,以適應某些特定的上下文環境,這就是策略模式

*//**

* 電商類**,針對男生和女生要跳到不同的商品類目,並且所有廣告位展示不同的廣告

* **中會出現

if男生

if女生

...硬編碼 當需求改變時所有**都需要改變,這種情況就需要使用 策略模式因為策略模式

* 跟上下文的環境是中立的沒有依賴,實現解耦,策略模式可以實現ioc,依賴倒置控制反轉

*/inte***ce

userstrategy

//新增男性策略

class

userman

implements

userstrategy

public function

showcategory()}//

新增女士策略

class

userwman

implements

userstrategy

public function

showcategory()

}//使用

class

page

public function

getcategory(userstrategy

$strategy)

}$page = new

page();

if(isset($_get['nvsheng'])) else

//當需求改變時只需要新增乙個策略,在獲得策略例項之前 建立新策略的例項即可(實現了解耦)

$page->getcategory($strategy);

$page->show();

PHP設計模式 策略模式

其實就是同一方法的不同實現,類似於重寫。和工廠模式有一樣的效果,但是策略模式更注重方法的重寫,尤其是一種方法。工廠模式更注重類的不同,直接導致很多方法的不一樣。abstract class baseagent 用於客戶端是ie時呼叫的類 環境角色 class ieagent extends base...

PHP設計模式之策略模式

策略模式 將一組特定的行為和演算法封裝成類,以適應某些特定的上下文環境,這種模式就是策略模式 使用策略模式實現ioc,依賴倒置,控制反轉 假如乙個電商 系統,針對不同的人群要跳轉到不同的商品類目,並且所有廣告位展示不同的廣告 1.不會因為上下文的改變而改變 傳統都是使用ifelse來判斷 2.如果新...

php設計模式之策略模式

在此模式中,演算法是從複雜類提取的 因而可以 方便地替換 例如,如果要更改搜尋引擎中排列頁的方法,則策略模式是乙個不錯的選擇。思考一下搜尋引擎的幾個部分 一部分遍歷頁面,一部分對每頁排列,另一部分基於排列的結果排序。在複雜的示例中,這些部分都在同乙個類中。通過使用策略模式,您可將排列部分放入另乙個 ...