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)