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学习资源和链接.
Dec 05 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
PHP 编程安全性小结
Jan 08 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
PHP错误提示的关闭方法详解
Jun 23 PHP
php比较两个绝对时间的大小
Jan 31 PHP
调试PHP程序的多种方法介绍
Nov 06 PHP
php curl 获取https请求的2种方法
Apr 27 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 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
PHP常用函数小技巧
2008/09/11 PHP
php 购物车实例(申精)
2009/05/11 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
jquery的index方法实现tab效果
2011/02/16 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
2011/08/15 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
python dict.get()和dict['key']的区别详解
2016/06/30 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
python属于解释语言吗
2020/06/11 Python
Python urllib3软件包的使用说明
2020/11/18 Python
英国工具中心:UK Tool Centre
2017/07/10 全球购物
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
电焊工岗位职责
2014/03/06 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
爱护公物标语
2014/06/24 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
2016年小学教师政治学习心得体会
2016/01/23 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python
vue选项卡切换的实现案例
2022/04/11 Vue.js