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入门
Oct 09 PHP
PR值查询 | PageRank 查询
Dec 20 PHP
PHP Header用于页面跳转要注意的几个问题总结
Oct 03 PHP
PHP 出现乱码和Sessions验证问题的解决方法!
Dec 06 PHP
PHP源码之explode使用说明
Aug 05 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
Oct 03 PHP
php中session过期时间设置及session回收机制介绍
May 05 PHP
php基于socket实现SMTP发送邮件的方法
Mar 05 PHP
php如何获取文件的扩展名
Oct 28 PHP
php使用高斯算法实现图片的模糊处理功能示例
Nov 11 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 PHP
PHP超全局变量实现原理及代码解析
Sep 01 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获取文件名称和扩展名的方法
2017/02/07 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
JS小功能(列表页面隔行变色)简单实现
2013/11/28 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
2014/10/23 Javascript
js实现网页收藏功能
2015/12/17 Javascript
javascript基础知识讲解
2017/01/11 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
小程序实现录音功能
2020/09/22 Javascript
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
用Python读取几十万行文本数据
2018/12/24 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
台湾良兴购物网:EcLife
2019/12/01 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
写演讲稿要注意的六件事
2014/01/14 职场文书
岗位聘任书范文
2014/03/29 职场文书
勤俭节约倡议书
2014/04/14 职场文书
综治工作心得体会
2014/09/11 职场文书
邀请函的格式
2015/01/30 职场文书
辞职离别感言
2015/08/04 职场文书
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android
设置IIS Express并发数
2022/07/07 Servers
Spring中bean集合注入的方法详解
2022/07/07 Java/Android