[design pattern] 策略模式
阿新 • • 發佈:2019-02-11
策略模式
1.是什麼
是對具體演算法的封裝,演算法實現了同一個目的。
2.實現方法
比如計算各地的薪資狀況
PHP 程式碼:
interface ISalary{ public function computer(); } class Context { /* 引用的薪資*/ private $_salary; public function __construct( ISalary $salary) { $this->_salary = $salary; } public function computer() { $this->_salary->computer(); } } class HebeiSalary implements ISalary{ public function computer(){ echo '計算 河北 Salary;<br>'; } } class TianjinSalary implements ISalary{ public function computer(){ echo '計算 天津 salary;<br>'; } } class Client{ public static function calc(){ $obj = new Context(new HebeiSalary()); $obj->computer(); $obj2 = new Context(new TianjinSalary()); $obj2 -> computer(); } } Client::calc();