PHP設計模式系列 策略模式

2021-08-01 05:10:21 字數 697 閱讀 6775

策略模式設計幫助構建的物件不必自身包含邏輯,而是能夠根據需要利用其他物件中的演算法。

例如有乙個cd類,我們類儲存了cd的資訊。

原先的時候,我們在cd類中直接呼叫getcd方法給出xml的結果

隨著業務擴充套件,需求方提出需要json資料格式輸出

這個時候我們引進了策略模式,可以讓使用方根據需求自由選擇是輸出xml還是json

[php]view plain

copy

print?

<?php   

//策略模式

//cd類

class

cd   

public

function

getcd(

$typeobj

)    

}  class

json   

}  class

xml   

}  $cd

= new

cd('cd_1'

, 'cd_1'

);  

echo

$cd->getcd(

newjson);  

echo

$cd->getcd(

newxml);  

參考:《php設計模式》aaron saray著

設計模式系列 策略模式

設計模式一共分為三大類 建立型模式 5種 單例模式,工廠模式 包含簡單工廠 抽象工廠模式,建造者模式 原型模式 結構型模式 7種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式 行為性模式 11種 策略模式 模板方法模式 觀察者模式 迭代器模式 責任鏈模式 命令模式 備忘錄模式...

php 設計模式(策略模式)

策略模式是將一組特定的行為和演算法封裝成類,以適應某些特定的上下文環境,這就是策略模式 電商類 針對男生和女生要跳到不同的商品類目,並且所有廣告位展示不同的廣告 中會出現 if男生 if女生 硬編碼 當需求改變時所有 都需要改變,這種情況就需要使用 策略模式因為策略模式 跟上下文的環境是中立的沒有依...

PHP設計模式 策略模式

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