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时间戳使用实例代码
Jun 07 PHP
PHP中常用数组处理方法实例分析
Aug 30 PHP
PHP中fwrite与file_put_contents性能测试代码
Aug 02 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
Nov 07 PHP
为你总结一些php系统类函数
Oct 21 PHP
CodeIgniter控制器之业务逻辑实例分析
Jan 20 PHP
php版微信公众平台入门教程之开发者认证的方法
Sep 26 PHP
PHP 接入微信扫码支付总结(总结篇)
Nov 03 PHP
php监测数据是否成功插入到Mysql数据库的方法
Nov 25 PHP
WHOOPS PHP调试库的使用
Sep 29 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
Oct 23 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 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实现获取图片颜色值的方法
2014/07/11 PHP
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
js图片预加载示例
2014/04/30 Javascript
jquery图片切换插件
2015/03/16 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
2016/08/05 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
webpack分离css单独打包的方法
2018/06/12 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
使用xampp将angular项目运行在web服务器的教程
2019/09/16 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
Python二分查找详解
2015/09/13 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
详解django自定义中间件处理
2018/11/21 Python
python @classmethod 的使用场合详解
2019/08/23 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
WoolOvers爱尔兰:羊绒、羊毛和棉针织品
2017/01/04 全球购物
办公室副主任岗位职责
2013/11/25 职场文书
中学教师培训制度
2014/01/31 职场文书
项目采购员岗位职责
2014/04/15 职场文书
有关环保的标语
2014/06/13 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
学校施工安全责任书
2015/01/29 职场文书
会计求职自荐信
2015/03/26 职场文书
2015年教务工作总结
2015/05/23 职场文书
军事博物馆观后感
2015/06/05 职场文书
单机多实例部署 MySQL8.0.20
2022/05/15 MySQL