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 16 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
Nov 27 PHP
php实现快速排序法函数代码
Aug 27 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
thinkphp的静态缓存用法分析
Nov 29 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
php实现从上传文件创建缩略图的方法
Apr 02 PHP
PHP Callable强制指定回调类型的方法
Aug 30 PHP
php实现登陆模块功能示例
Oct 20 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
PHP后台实现微信小程序登录
Aug 03 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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学习之PHP表达式
2006/10/09 PHP
PHP 输出简单动态WAP页面
2009/06/09 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
jQuery简单实现banner图片切换
2014/01/02 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
2014/02/04 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
软件测试工程师结构化面试题库
2016/11/23 面试题
2016党员读书思廉心得体会
2016/01/23 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书
Python一行代码实现自动发邮件功能
2021/05/30 Python
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL