【PHP模式】面向任务的模式-策略模式

策略模式
策略模式设计帮助构建的对象不必自身包含逻辑,而是能够根据需要利用其他对象中的算法。

使用场景
例如有一个CD类,我们类存储了CD的信息。
原先的时候,我们在CD类中直接调用getCD方法给出XML的结果
随着业务扩展,需求方提出需要JSON数据格式输出
这个时候我们引进了策略模式,可以让使用方根据需求自由选择是输出XML还是JSON

代码:
//策略模式
//cd类

class cd {  
	protected $cdArr;  
	  
	public function __construct($title, $info) {   
		$this->cdArr['title'] = $title;  
		$this->cdArr['info']  = $info;  
	}  
	  
	public function getCd($typeObj) {  
		return $typeObj->get($this->cdArr);  
	}   
}  
  
class json {  
	public function get($return_data) {  
		return json_encode($return_data);  
	}  
}  
  
class xml {  
	public function get($return_data) {  
			$xml = '';  
			$xml .= '';  
				$xml .= '' .serialize($return_data). '';  
			$xml .= '';  
			return $xml;  
	}  
}  
  
$cd = new cd('cd_1', 'cd_1');  
echo $cd->getCd(new json);  
echo $cd->getCd(new xml);

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论