php設計模式之策略模式應用案例詳解

2022-10-06 06:51:12 字數 769 閱讀 3484

策略程式設計客棧模式

定義:策略模式定義一系列的演算法,將每個演算法封裝起來,並讓它們可以相互裝換。策略模式讓演算法獨立於使用它的客戶而獨立變化。

角色分析:

應用場景:

**實現:

<?php /**

* created by phpstorm.

* author: zhaorui

* date: 2019/2/27

* time: 10:55

*/header('content-type:text/html;charset=utf-8');

// 抽象策略介面

abstract class strategy

//具體策略角色

class bikestrategy extends strategy

}class busstrategy extends strategy

}class taxistrategy extends strategy

}// 環境角色

class contextcatch (reflectionexception $e)

} function gotoschool()

}// 測試

$cwww.cppcns.comontext = new context();

$context->getstrategy('busstrategy');

$context->gotoschool();

執行結果

乘公共汽車去上學

優點:缺點:

PHP設計模式之策略模式

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

php設計模式之策略模式

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

PHP設計模式之策略模式

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