品易云推流 关闭
文章详情页
文章 > PHP教程 > php桥接模式的作用

php桥接模式的作用

头像

小妮浅浅

2021-07-02 14:26:18878浏览 · 0收藏 · 0评论

作用说明

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教程

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图