
作用说明
1、桥接模式分离抽象接口及其实现部分,实现解耦,比继承更好的解决方案。
2、便于扩展,桥接模式比继承更灵活,在减少创建类的同时也便于组合。
3、桥接模式可用于两个独立变化维度。
实例
//员工分组
abstractclassStaff
{
abstractpublicfunctionstaffData();
}
classCommonStaffextendsStaff
{
publicfunctionstaffData()
{
return"小名,小红,小黑";
}
}
classVipStaffextendsStaff
{
publicfunctionstaffData()
{
return'小星、小龙';
}
}
//发送形式
//抽象父类
abstractclassSendType
{
abstractpublicfunctionsend($to,$content);
}
classQQSendextendsSendType
{
publicfunction__construct()
{
//与QQ接口连接方式
}
publicfunctionsend($to,$content)
{
return$content.'(To'.$to.'FromQQ)<br>';
}
}
classSendInfo
{
protected$_level;
protected$_method;
publicfunction__construct($level,$method)
{
//这里可以使用单例控制资源的消耗
$this->_level=$level;
$this->_method=$method;
}
publicfunctionsending($content)
{
$staffArr=$this->_level->staffData();
$result=$this->_method->send($staffArr,$content);
echo$result;
}
}
//客户端调用
$info=newSendInfo(newVipStaff(),newQQSend());
$info->sending('回家吃饭');
$info=newSendInfo(newCommonStaff(),newQQSend());
$info->sending('继续上班');
输出结果:
回家吃饭(To小星、小龙FromQQ)
继续上班(To小名,小红,小黑FromQQ)原文来自:https://www.py.cn © 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END


















































暂无评论内容