发布时间:2022-02-24 文章分类:PHP 知识 投稿人:优优 字号: 默认 | | 超大 打印

479

作用说明

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)