<?PHP/** * Policy mode * Policy mode helps build an object that does not have to contain logic itself, but is able to take advantage of algorithms in other objects as needed * The best practice when you can create an object-based, self-contained algorithm of interchangeable objects is to use the policy mode*/Interfacemath{functionCalc$op 1,$op 2);}classAddImplementsmath{ Public functionCalc$op 1,$op 2) { return $op 1+$op 2; }}classSubImplementsmath{ Public functionCalc$op 1,$op 2) { return $op 1-$op 2; }}//Policy Classesclasscmath{protected $_calc=NULL; Public function__construct ($type) { $this->_calc =New $type; } Public functionCalc$op 1,$op 2) { return $this->_calc->calc ($op 1,$op 2); }}//Use$type= ' Add ';$calc=NewCmath ($type);$result=$calc->calc (1, 100);Echo' 1 + 100 = '.$result.‘ <br> ';//Use$type= ' Sub ';$calc=NewCmath ($type);$result=$calc->calc (1, 100);Echo' 1-100 = '.$result;
PHP design mode--strategy mode