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桌面中心(四) 数据显示
Mar 11 PHP
php 日期和时间的处理-郑阿奇(续)
Jul 04 PHP
DOM XPATH获取img src值的query
Sep 23 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
PHP中的socket_read和socket_recv区别详解
Feb 09 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
关于PHP开发的9条建议
Jul 27 PHP
基于PHP实现假装商品限时抢购繁忙的效果
Oct 16 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
php中的异常和错误浅析
May 03 PHP
PHP数据库操作二:memcache用法分析
Aug 16 PHP
php回调函数处理数组操作示例
Apr 13 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 print EOF实现方法
2009/05/21 PHP
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
js 求时间差的实现代码
2016/04/26 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
python中几种自动微分库解析
2019/08/29 Python
查看已安装tensorflow版本的方法示例
2020/04/19 Python
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
英语师范专业毕业生自荐信
2013/09/21 职场文书
产品推广策划方案
2014/05/10 职场文书
毕业典礼演讲稿
2014/05/13 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang