作用说明
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教程