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 相关文章推荐
模板引擎Smarty深入浅出介绍
Dec 06 PHP
一个自定义位数的php多用户计数器代码
Mar 11 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
array_multisort实现PHP多维数组排序示例讲解
Jan 04 PHP
PHP学习笔记之三 数据库基本操作
Jan 17 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
Nov 27 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
php中try catch捕获异常实例详解
Nov 21 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 PHP
php中10个不同等级压缩优化图片操作示例
Nov 14 PHP
浅谈如何提高PHP代码的质量
May 28 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
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
php中将一个对象保存到Session中的方法
2015/03/13 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
js资料toString 方法
2007/03/13 Javascript
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
Javascript 继承实现例子
2009/08/12 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
Python的Django框架安装全攻略
2015/07/15 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
Python对字符串实现去重操作的方法示例
2017/08/11 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
HTML5 weui使用笔记
2019/11/21 HTML / CSS
AmazeUI 单选框和多选框的实现示例
2020/08/18 HTML / CSS
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
QT与javascript交互数据的实现
2021/05/26 Javascript
Win11快速关闭所有广告推荐
2022/04/19 数码科技