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 相关文章推荐
第六节 访问属性和方法 [6]
Oct 09 PHP
PHP图片验证码制作实现分享(全)
May 10 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
Aug 08 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
php求两个目录的相对路径示例(php获取相对路径)
Mar 27 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 PHP
详解PHP的Yii框架中的Controller控制器
Mar 29 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
PHP设置Cookie的HTTPONLY属性方法
Feb 09 PHP
PHP压缩图片功能的介绍
Mar 21 PHP
laravel高级的Join语法详解以及使用Join多个条件
Oct 16 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面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
Yii框架登录流程分析
2014/12/03 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
Python计算一个文件里字数的方法
2015/06/15 Python
Python OpenCV获取视频的方法
2018/02/28 Python
儿童python练习实例
2018/05/27 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
pyqt5 获取显示器的分辨率的方法
2019/06/18 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
python matplotlib绘制三维图的示例
2020/09/24 Python
用python进行视频剪辑
2020/11/02 Python
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
建筑个人求职信范文
2014/01/25 职场文书
教师现实表现材料
2014/02/14 职场文书
初中作文评语大全
2014/04/23 职场文书
新手上路标语
2014/06/20 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
Python装饰器的练习题
2021/11/23 Python