您的位置:首页 > 其它

每日一模式之策略模式

2016-01-08 00:00 169 查看
摘要: 策略模式

<?php
//策略模式:不同的部分采用不同的算法

//比如我要构建一个sphinx索引,这个索引支持多种数据源

interface indexSource{
public function makeSource($data);
}

class Strategy{
private $data;
public function getData(){
echo "获取数据\n";
$this->data = "to add ";
}
public function makeSource($source_class_type){
$obj = new $source_class_type;
$obj->makeSource($this->data);
}

}

class PythonSource implements indexSource{
public function makeSource($data){
echo "构建python源\n";
}
}
class XmlSource implements indexSource{
public function makeSource($data){
echo "构建xml源\n";
}
}

$strategy_obj = new Strategy();
$strategy_obj->getData();
$strategy_obj->makeSource("PythonSource");
$strategy_obj->makeSource("XmlSource");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: