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 开发环境配置(测试开发环境)
Apr 28 PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
文件上传之SWFUpload插件(代码)
Jul 30 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
Jun 05 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
Dec 09 PHP
PHP基于Closure类创建匿名函数的方法详解
Aug 17 PHP
PHP使用XMLWriter读写xml文件操作详解
Jul 31 PHP
PHP命名空间简单用法示例
Dec 28 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
Apr 23 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简介
2006/10/09 PHP
PHP 自定义错误处理函数trigger_error()
2013/03/26 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
全国省市二级联动下拉菜单 js版
2016/05/10 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
ES6新特性之模块Module用法详解
2017/04/01 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
手把手教你如何使用nodejs编写cli命令行
2018/11/05 NodeJs
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
2020/09/04 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
Python导入oracle数据的方法
2015/07/10 Python
Python smtplib实现发送邮件功能
2018/05/22 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
最畅销的视频游戏享受高达90%的折扣:CDKeys
2020/02/10 全球购物
Java编程面试题
2016/04/04 面试题
竞选部长演讲稿
2014/04/26 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
先进个人主要事迹范文
2015/11/04 职场文书