php桥接模式的作用

美女程序员鼓励师

作用说明

1、桥接模式分离抽象接口及其实现部分,实现解耦,比继承更好的解决方案。

2、便于扩展,桥接模式比继承更灵活,在减少创建类的同时也便于组合。

3、桥接模式可用于两个独立变化维度。

实例

// 员工分组

 

 

abstract class Staff

{

    abstract public function staffData();

}

 

class CommonStaff extends Staff

{

    public function staffData()

    {

        return "小名,小红,小黑";

    }

}

 

class VipStaff extends Staff

{

    public function staffData()

    {

        return '小星、小龙';

    }

}

 

 

 

 

 

// 发送形式

 

// 抽象父类

abstract class SendType

{

    abstract public function send($to, $content);

}

 

class QQSend extends SendType

{

    public function __construct()

    {

        // 与QQ接口连接方式

    }

 

    public function send($to, $content)

    {

        return $content. '(To '. $to . ' From QQ)<br>';

    }

}

 

 

 

 

class SendInfo

{

    protected $_level;

    protected $_method;

 

    public function __construct($level, $method)

    {

        //  这里可以使用单例控制资源的消耗

        $this->_level = $level;

        $this->_method = $method;

    }

 

    public function sending($content)

    {

        $staffArr = $this->_level->staffData();

        $result = $this->_method->send($staffArr, $content);

        echo $result;

    }

}

 

 

 

// 客户端调用

 

$info = new SendInfo(new VipStaff(), new QQSend());

$info->sending( '回家吃饭');

 

$info = new SendInfo(new CommonStaff(), new QQSend());

$info->sending( '继续上班');

输出结果:

 

回家吃饭(To 小星、小龙 From QQ)

继续上班(To 小名,小红,小黑 From QQ)

以上就是php桥接模式的作用,希望对大家有所帮助。更多php学习指路:php教程

以上是 php桥接模式的作用 的全部内容, 来源链接: utcz.com/z/545298.html

回到顶部