php设计模式 Bridge (桥接模式)

yipeiwu_com7年前PHP代码库
复制代码 代码如下:

<?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中的字符编码转换函数的用法,分享给大家供大家参考。具体实现方法如下: 一般来说,在网页程序中,尤其是涉及到数据库的读出过程中,往往最恼火的就是字符编码的问题,php4...

PHP中根据IP地址判断城市实现城市切换或跳转代码

获取IP地址复制代码 代码如下:<?phpfunction GetIP() {    if ($_SERVER["HTTP_X_FORWARDED_F...

火车头采集器3.0采集图文教程

火车头采集器3.0采集图文教程

以采集示例详解部分功能今天要给大家做示例的网站是163的 娱乐频道 这个应该是个比较通用和实用的规则,下面开始。如果您是火车采集器的老手,那么您可以参考下,因为我要讲解的会有违传统的思维...

PHP加密解密类实例分析

本文实例讲述了PHP加密解密类。分享给大家供大家参考。具体分析如下: 这段代码支持 数组加密 , 密文有效期, 各种对称加密 其中参数如下: * @use ption::en($stri...

通过table标签,PHP输出EXCEL的实现方法

通过table标签,PHP输出EXCEL的实现方法

关键代码:复制代码 代码如下:<?php header("Content-type:application/vnd.ms-excel"); header("Co...