本文實(shí)例講述了php策略模式。分享給大家供大家參考,具體如下:
策略模式和工廠模式很像。
工廠模式:著眼于得到對(duì)象,并操作對(duì)象。
策略模式:著重得到對(duì)象某方法的運(yùn)行結(jié)果。
示例:
//實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器
interface MathOp{
public function calculation($num1,$num2);
}
//加法
class MathAdd implements MathOp{
public function calculation($num1,$num2){
return $num1 + $num2;
}
}
//減法
class MathSub implements MathOp{
public function calculation($num1,$num2){
return $num1 - $num2;
}
}
//乘法
class MathMulti implements MathOp{
public function calculation($num1,$num2){
return $num1 * $num2;
}
}
//除法
class MathDiv implements MathOp{
public function calculation($num1,$num2){
return $num1 / $num2;
}
}
class Op{
protected $op_class = null;
public function __construct($op_type){
$this->op_class = 'Math' . $op_type;
}
public function get_result($num1,$num2){
$cls = new $this->op_class;
return $cls->calculation($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
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- 詳解SpringBoot結(jié)合策略模式實(shí)戰(zhàn)套路
- Java如何利用策略模式替代if/else語句
- Java策略模式實(shí)現(xiàn)簡(jiǎn)單購物車功能
- 詳解Python設(shè)計(jì)模式之策略模式
- JavaScript設(shè)計(jì)模式之策略模式實(shí)現(xiàn)原理詳解
- php 策略模式原理與應(yīng)用深入理解
- Java利用策略模式優(yōu)化過多if else代碼
- Spring 環(huán)境下實(shí)現(xiàn)策略模式的示例