1.策略模式,将- -组特定的行为和算法封装成类,以适应某些特定的上下文环境,这种模式就是策略模式
2.实际应用举例,假如一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告
3.计算器实例
工厂模式和策略模式逻辑上的区别
<?php //策略模式 做一个计算器 interface Math { public function calc($op1 ,$op2); } class MathAdd implements Math{ public function calc($op1,$op2) { return $op1+$op2; } } class MathSub implements Math{ public function calc($op1,$op2) { return $op1-$op2 ; } } class MathMul implements Math{ public function calc($op1,$op2) { return $op1*$op2; } } /* 一般思路,根据传来0P ,制造不对对象,并且调用. if($_ POST[ 'op'] */ class CMath { protected $calc = null ; public function __construct($type){ $calc = 'Math' . $type; $this->calc =new $calc(); } public function calc($op1,$op2) { return $this->calc->calc($op1, $op2); } } //$type = $_POST['op']; //$cmath = new CMath($type); //$cmath->calc($_POST['op1'],_POST['op2']); $type = 'add'; $cmath = new CMath($type); echo $cmath->calc(3,5);