php设计模式 Adapter(适配器模式)


Posted in PHP onJune 26, 2011
<?php 
/** 
* 适配器模式 
* 
* 将一个类的接口转换成客户希望的另外一个接口,使用原本不兼容的而不能在一起工作的那些类可以在一起工作 
*/ // 这个是原有的类型 
class OldCache 
{ 
public function __construct() 
{ 
echo "OldCache construct<br/>"; 
} 
public function store($key,$value) 
{ 
echo "OldCache store<br/>"; 
} 
public function remove($key) 
{ 
echo "OldCache remove<br/>"; 
} 
public function fetch($key) 
{ 
echo "OldCache fetch<br/>"; 
} 
} 
interface Cacheable 
{ 
public function set($key,$value); 
public function get($key); 
public function del($key); 
} 
class OldCacheAdapter implements Cacheable 
{ 
private $_cache = null; 
public function __construct() 
{ 
$this->_cache = new OldCache(); 
} 
public function set($key,$value) 
{ 
return $this->_cache->store($key,$value); 
} 
public function get($key) 
{ 
return $this->_cache->fetch($key); 
} 
public function del($key) 
{ 
return $this->_cache->remove($key); 
} 
} 
$objCache = new OldCacheAdapter(); 
$objCache->set("test",1); 
$objCache->get("test"); 
$objCache->del("test",1);
PHP 相关文章推荐
PHP文件上传原理简单分析
May 29 PHP
PHP缓存技术的多种方法小结
Aug 14 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
Aug 14 PHP
php中动态修改ini配置
Oct 14 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
php查看网页源代码的方法
Mar 13 PHP
php版微信公众账号第三方管理工具开发简明教程
Sep 23 PHP
PHP实现移除数组中为空或为某值元素的方法
Jan 07 PHP
php正则判断是否为合法身份证号的方法
Mar 16 PHP
详解PHP使用Redis存储session时的一个Warning定位
Jul 05 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
Apr 10 PHP
php设计模式 Builder(建造者模式)
Jun 26 #PHP
php设计模式 DAO(数据访问对象模式)
Jun 26 #PHP
php设计模式 Decorator(装饰模式)
Jun 26 #PHP
php设计模式 Delegation(委托模式)
Jun 26 #PHP
php设计模式 Facade(外观模式)
Jun 26 #PHP
php设计模式 Factory(工厂模式)
Jun 26 #PHP
php设计模式 Interpreter(解释器模式)
Jun 26 #PHP
You might like
什么是短波收听SWL
2021/03/01 无线电
用PHP实现验证码功能
2006/10/09 PHP
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
javascript 数组操作详解
2015/01/29 Javascript
JS Array创建及concat()split()slice()的使用方法
2016/06/03 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
Cordova(ionic)项目实现双击返回键退出应用
2019/09/17 Javascript
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
详谈python read readline readlines的区别
2017/09/22 Python
PyCharm代码提示忽略大小写设置方法
2018/10/28 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
python requests证书问题解决
2019/09/05 Python
Python networkx包的实现
2020/02/14 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
python urllib和urllib3知识点总结
2021/02/08 Python
意大利单身交友网站:Meetic
2020/07/12 全球购物
解决方案设计综合面试题
2015/08/31 面试题
小学教师办公室制度
2014/02/03 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
实习指导教师评语
2014/12/30 职场文书
详解Python中下划线的5种含义
2021/07/15 Python
Python函数中apply、map、applymap的区别
2021/11/27 Python