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
php sprintf()函数让你的sql操作更安全
Jul 23 PHP
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
PHP 文件扩展名 获取函数
Jun 03 PHP
php数组使用规则分析
Feb 27 PHP
Codeigniter校验ip地址的方法
Mar 21 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
PHP实现JS中escape与unescape的方法
Jul 11 PHP
php 截取utf-8格式的字符串实例代码
Oct 30 PHP
实例分析基于PHP微信网页获取用户信息
Nov 24 PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 PHP
PHP Swoole异步Redis客户端实现方法示例
Oct 24 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
php基础学习之变量的使用
2011/06/09 PHP
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
2015/11/25 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
JQUERY获取form表单值的代码
2010/07/17 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
python多线程threading.Lock锁用法实例
2014/11/01 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
python实现超级玛丽游戏
2020/03/18 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
经销商培训邀请函
2014/01/21 职场文书
自主招生自荐信指南
2014/02/04 职场文书
安全教育感言
2014/03/04 职场文书
企业法人授权委托书范本
2014/09/23 职场文书
地方白酒代理协议书
2014/10/25 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
关于办理居住证的介绍信模板
2019/11/27 职场文书
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
Python办公自动化之教你如何用Python将任意文件转为PDF格式
2021/06/28 Python
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python