PHP设计模式之策略模式

策略模式(Strategy Pattern):定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。

策略模式包含的角色如下:

Context: 环境类
Strategy: 抽象策略类
ConcreteStrategy: 具体策略类


支付的策略选择

charge_obj = new zfb;
        	} elseif ($type == 'wx') {

            		$this->charge_obj = new wx;
        	} else {
            		$this->charge_obj = null;
        	}
    	}

    	public function pay()
    	{
        	if (is_null($this->charge_obj)) {
            		exit('初始化错误');
        	}
        	$this->charge_obj->pay();
    	}
    }
choose($type);

// 调用功能
$Charge->pay();

 

你可能感兴趣的:(PHP设计模式,PHP,设计模式,策略模式)