• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP设计模式系列 – 策略模式

php 搞代码 3年前 (2022-01-26) 10次浏览 已收录 0个评论

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

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

<?php//策略模式//cd类class cd {	protected $cdArr;		public function __construct($title, $info) { 		$this->cdArr['title'] = $title;		$this->cdArr['info']  = $info;	}		public fun<i>1本文来#源gaodai$ma#com搞$代*码*网</i><pre>搞代gaodaima码

ction 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 version=”1.0″ encoding=”utf-8″?>’; $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);


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP设计模式系列 – 策略模式
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址