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 相关文章推荐
3.从实例开始
Oct 09 PHP
关于php mvc开发模式的感想
Jun 28 PHP
php的array_multisort()使用方法介绍
May 16 PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 PHP
php 获取本地IP代码
Jun 23 PHP
php导入导出excel实例
Oct 25 PHP
php分页函数示例代码分享
Feb 24 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
PHP将URL转换成短网址的算法分享
Sep 13 PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 PHP
Yii框架Session与Cookie使用方法示例
Oct 14 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/04/09 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
node.js版本管理工具n无效的原理和解决方法
2016/11/24 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
python多线程http下载实现示例
2013/12/30 Python
python里对list中的整数求平均并排序
2014/09/12 Python
pymongo中group by的操作方法教程
2019/03/22 Python
pycharm配置git(图文教程)
2019/08/16 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
python3 xpath和requests应用详解
2020/03/06 Python
python实现图像外边界跟踪操作
2020/07/13 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
北美大型运动类产品商城:Champs Sports
2017/01/12 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
高三高考决心书
2014/03/11 职场文书
体育馆的标语
2014/06/24 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
2014年保卫部工作总结
2014/11/21 职场文书
死者家属慰问信
2015/03/24 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
mysql 生成连续日期及变量赋值
2022/03/20 MySQL