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 相关文章推荐
dedecms采集中可以过滤多行代码的正则表达式
Mar 17 PHP
ThinkPHP自动验证失败的解决方法
Jun 09 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
屏蔽机器人从你的网站搜取email地址的php代码
Nov 14 PHP
eAccelerator的安装与使用详解
Jun 13 PHP
关于PHP语言构造器介绍
Jul 08 PHP
ThinkPHP之import方法实例详解
Jun 20 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
Mar 15 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
PHP Swoole异步Redis客户端实现方法示例
Oct 24 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 身份证号验证函数
2009/05/07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
thinkphp分页集成实例
2017/07/24 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
php7 新增功能实例总结
2020/05/25 PHP
JavaScript触发器详解
2007/03/10 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
Cython 三分钟入门教程
2009/09/17 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
详解Python装饰器由浅入深
2016/12/09 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
Python中的延迟绑定原理详解
2019/10/11 Python
Python telnet登陆功能实现代码
2020/04/16 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
python实现数字炸弹游戏
2020/07/17 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
得到Class的三个过程是什么
2012/08/10 面试题
数控专业毕业生求职信范文
2013/09/21 职场文书
机关门卫制度
2014/02/01 职场文书
学习保证书范文
2014/04/30 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
2015年师德表现自我评价
2015/03/05 职场文书
团队拓展训练感想
2015/08/07 职场文书
工程移交协议书
2016/03/24 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers