策略模式
定義了算法族,分別封裝起來夸政,讓它們之間可以互相替換蹋岩,此模式讓算法的變化獨立于使用算法的客戶脏毯。
Demo:
<?php
abstract class baseAgent { //抽象策略類
abstract function PrintPage();
}
//用于客戶端是IE時調(diào)用的類(環(huán)境角色)
class ieAgent extends baseAgent {
function PrintPage() {
return 'IE';
}
}
//用于客戶端不是IE時調(diào)用的類(環(huán)境角色)
class otherAgent extends baseAgent {
function PrintPage() {
return 'not IE';
}
}
class Browser { //具體策略角色
public function call($object) {
return $object->PrintPage ();
}
}
$bro = new Browser ();
echo $bro->call ( new ieAgent () );
?>
請關(guān)注我的訂閱號
訂閱號.png