温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php桥接模式有什么作用

发布时间:2022-05-12 14:18:15 来源:亿速云 阅读:138 作者:iii 栏目:大数据

本文小编为大家详细介绍“php桥接模式有什么作用”,内容详细,步骤清晰,细节处理妥当,希望这篇“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桥接模式有什么作用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI