php策略模式簡單示例分析 區別於工廠模式

2022-09-26 04:21:13 字數 674 閱讀 7555

策略模式和工廠模式很像。

工廠模式:著眼於得到物件,並操作物件。

策略模式:著重得到物件某方法的執行結果。

示例://實現乙個簡單的計算器

inte***ce mathop

//加法

class mathadd implements mathop

}//減法

class mathsub implements mathop

}//乘法

class mathmulti implements mathop

}//除法

程式設計客棧class mathdiv implements mathop

}class op

public function get_result($num1,$num2)

}$obj = new op('add');

echo $obj->get_result(6,2);//8

$obj = new op('sub');

echo $obj->get_result程式設計客棧(6,5);//1

$obj = new op('multi');

echo $obj->get_result(6,2);//12

$obj = new op('div');

echo $obj->get_result(6,2);//3

PHP實現的策略模式簡單示例

比如說購物車系統,在給商品計算總價的時候,普通會員肯定是商品單價乘以數量,但是對中級會員提供8者折扣,對高階會員提供7折折扣,這種場景就可以使用策略模式實現 策略模式例項 抽象策略角色 為介面或者抽象類,給具體策略類繼承 inte ce strategy 具體策略角色 普通會員策略類 class g...

簡單工廠模式和策略模式的區別

最近一直在抽時間研究設計模式,之前對設計模式也有一定的了解,但是都沒有平心靜氣的去研究過,只是了解了一些皮毛,最近打算再深入研究一下,重新開啟了設計模式的資料,對之前的疑問乙個個的刨根問底,今天看了簡單工廠模式和策略模式看的人有點小暈,兩個的大概思路沒有怎麼變,都是通過多型去減少 的耦合度,怎麼看兩...

簡單工廠模式和策略模式的區別

而下面是我的理解 按一般教程中出現的例子理解 簡單工廠模式 客戶端傳乙個條件進工廠類,工廠類根據條件建立相應的產品類物件,並return給客戶端,供客戶端使用。即客戶端使用的是工廠類生產的產品物件。策略模式 客戶端建立乙個context類物件a 可以看作是工廠模式中工廠類 建立乙個策略物件並傳參給物...