php设计模式 Bridge (桥接模式)


Posted in PHP onJune 26, 2011
<?php 
/** 
* 桥接模式 
* 
* 将抽象部份与它实现部分分离,使用它们都可以有独立的变化 
*/ 
abstract class Implementor 
{ 
abstract public function operation(); 
} 
class ConcreteImplementorA extends Implementor 
{ 
public function operation() 
{ 
echo "ConcreteImplementorA Operation<br/>"; 
} 
} 
class ConcreteImplementorB extends Implementor 
{ 
public function operation() 
{ 
echo "ConcreteImplementorB Operation<br/>"; 
} 
} 
class Abstraction 
{ 
protected $_implementor = null; 
public function setImplementor($implementor) 
{ 
$this->_implementor = $implementor; 
} 
public function operation() 
{ 
$this->_implementor->operation(); 
} 
} 
class RefinedAbstraction extends Abstraction 
{ 
} 
class ExampleAbstraction extends Abstraction 
{ 
} 
// 
$objRAbstraction = new RefinedAbstraction(); 
$objRAbstraction->setImplementor(new ConcreteImplementorB()); 
$objRAbstraction->operation(); 
$objRAbstraction->setImplementor(new ConcreteImplementorA()); 
$objRAbstraction->operation(); 
$objEAbstraction = new ExampleAbstraction(); 
$objEAbstraction->setImplementor(new ConcreteImplementorB()); 
$objEAbstraction->operation();
PHP 相关文章推荐
php 输出双引号&quot;与单引号'的方法
May 09 PHP
php学习之数据类型之间的转换介绍
Jun 09 PHP
解析PHP中如何将数组变量写入文件
Jun 06 PHP
Youku 视频绝对地址获取的方法详解
Jun 26 PHP
php json转换成数组形式代码分享
Nov 10 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
php给图片添加文字水印方法汇总
Aug 27 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 PHP
php短信接口代码
May 13 PHP
Yii隐藏URL中index.php的方法
Jul 12 PHP
PHP删除字符串中非字母数字字符方法总结
Jan 20 PHP
php设计模式 Chain Of Responsibility (职责链模式)
Jun 26 #PHP
php设计模式 FlyWeight (享元模式)
Jun 26 #PHP
php设计模式 Mediator (中介者模式)
Jun 26 #PHP
php设计模式 Prototype (原型模式)代码
Jun 26 #PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 #PHP
session在PHP大型web应用中的使用
Jun 25 #PHP
php URL跳转代码 减少外链
Jun 25 #PHP
You might like
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
常用js脚本
2006/12/03 Javascript
JS打开新窗口的2种方式
2013/04/18 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
JavaScript实现图片懒加载的方法分析
2018/07/05 Javascript
js实现消灭星星(web简易版)
2020/03/24 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
Python callable内置函数原理解析
2020/03/05 Python
python 19个值得学习的编程技巧
2020/08/15 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
中国梦主题教育活动总结
2014/05/05 职场文书
地质灾害防治方案
2014/05/14 职场文书
投标诚信承诺书
2014/05/26 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang
如何用python清洗文件中的数据
2021/06/18 Python
python​格式化字符串
2022/04/20 Python