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中使用Select 查询语句的实例
Feb 19 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
Jul 04 PHP
php实现singleton()单例模式实例
Nov 06 PHP
apache中为php 设置虚拟目录
Dec 17 PHP
php访问数组最后一个元素的函数end()用法
Mar 18 PHP
PHP中返回引用类型的方法
Apr 03 PHP
Yii输入正确验证码却验证失败的解决方法
Jun 06 PHP
php文件上传类的分享
Jul 06 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
PHP后期静态绑定实例浅析
Dec 21 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
支持php4、php5的mysql数据库操作类
2008/01/10 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
2015/09/27 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
Vue实现自带的过滤器实例
2017/03/09 Javascript
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
Python中的Numpy入门教程
2014/04/26 Python
在Python中调用ggplot的三种方法
2015/04/08 Python
python实现excel读写数据
2021/03/02 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
Python argparse模块应用实例解析
2019/11/15 Python
Python如何读取文件中图片格式
2020/01/13 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
python爬虫可以爬什么
2020/06/16 Python
django rest framework 自定义返回方式
2020/07/12 Python
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
全球性的女装店:storets
2019/06/12 全球购物
What is view? why do we have view?
2012/06/22 面试题
家长会邀请书
2014/01/25 职场文书
《卖木雕的少年》教学反思
2014/04/11 职场文书
作风整顿剖析材料
2014/09/30 职场文书
个人总结怎么写
2015/02/26 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
公安机关起诉意见书
2015/05/20 职场文书
Python基础知识之变量的详解
2021/04/14 Python
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
Nginx反向代理配置的全过程记录
2021/06/22 Servers
Vue的过滤器你真了解吗
2022/02/24 Vue.js