php设计模式 Delegation(委托模式)


Posted in PHP onJune 26, 2011
<?php 
/** 
* 委托模式 示例 
* 
* @create_date: 2010-01-04 
*/ 
class PlayList 
{ 
var $_songs = array(); 
var $_object = null; 
function PlayList($type) 
{ 
$object = $type."PlayListDelegation"; 
$this->_object = new $object(); 
} 
function addSong($location,$title) 
{ 
$this->_songs[] = array("location"=>$location,"title"=>$title); 
} 
function getPlayList() 
{ 
return $this->_object->getPlayList($this->_songs); 
} 
} 
class mp3PlayListDelegation 
{ 
function getPlayList($songs) 
{ 
$aResult = array(); 
foreach($songs as $key=>$item) 
{ 
$path = pathinfo($item['location']); 
if(strtolower($item['extension']) == "mp3") 
{ 
$aResult[] = $item; 
} 
} 
return $aResult; 
} 
} 
class rmvbPlayListDelegation 
{ 
function getPlayList($songs) 
{ 
$aResult = array(); 
foreach($songs as $key=>$item) 
{ 
$path = pathinfo($item['location']); 
if(strtolower($item['extension']) == "rmvb") 
{ 
$aResult[] = $item; 
} 
} 
return $aResult; 
} 
} 
$oMP3PlayList = new PlayList("mp3"); 
$oMP3PlayList->getPlayList(); 
$oRMVBPlayList = new PlayList("rmvb"); 
$oRMVBPlayList->getPlayList(); 
?>
PHP 相关文章推荐
PHP的栏目导航程序
Oct 09 PHP
用session做客户验证时的注意事项
Oct 09 PHP
php 字符串替换的方法
Jan 10 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
学习php分页代码实例
Oct 24 PHP
ThinkPHP中ajax使用实例教程
Aug 22 PHP
ThinkPHP模板替换与系统常量及应用实例教程
Aug 22 PHP
php实现的SESSION类
Dec 02 PHP
php实现的用户查询类实例
Jun 18 PHP
功能强大的php分页函数
Jul 20 PHP
php利用array_search与array_column实现二维数组查找
Jul 08 PHP
php设计模式 Facade(外观模式)
Jun 26 #PHP
php设计模式 Factory(工厂模式)
Jun 26 #PHP
php设计模式 Interpreter(解释器模式)
Jun 26 #PHP
php设计模式 Strategy(策略模式)
Jun 26 #PHP
php设计模式 Observer(观察者模式)
Jun 26 #PHP
php设计模式 Singleton(单例模式)
Jun 26 #PHP
php设计模式 Command(命令模式)
Jun 26 #PHP
You might like
加速XP搜索功能堪比vista
2007/03/22 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
Array对象方法参考
2006/10/03 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
win10系统中安装scrapy-1.1
2016/07/03 Python
Python 私有函数的实例详解
2017/09/11 Python
python求加权平均值的实例(附纯python写法)
2019/08/22 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
Python descriptor(描述符)的实现
2020/11/15 Python
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
几道PHP面试题
2013/04/14 面试题
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
先进个人获奖感言
2014/01/24 职场文书
电气个人求职信范文
2014/02/04 职场文书
大学生校园创业计划书
2014/02/08 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
监察建议书范文
2014/03/12 职场文书
银行委托书范本
2014/04/04 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
小学运动会通讯稿
2015/07/18 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
正则表达式基础与常用验证表达式
2022/06/16 Javascript