php设计模式-桥接模式
Posted itxds
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php设计模式-桥接模式相关的知识,希望对你有一定的参考价值。
使用情景:系统通知用户,通知方式有站内信,邮件,手机短信3种方式,信的内容分普通,紧急两种程度,为了不避免两两组合,m* n种可能的搭配,使用桥接模式
// 抽象 abstract class Info{ protected $_send = null; // 发送器 (site, email, sms); public function __construct($send) { $this->_send = $send; } abstract public function createContent($content); public function send($content) { $this->_send->send($content); // 调用不同发送器的发送方法 } } // 消息发送方式 class SiteInfo // 站内信 { public function send($content) { echo ‘站内信:‘ . $content; } } class EmailInfo // 邮件 { public function send($content) { echo ‘邮件:‘ . $content; } } class SMSInfo // 手机短信 { public function send($content) { echo ‘SMS:‘ . $content; } } // 消息紧急程度 class Common extends Info // 普通通知 { public function createContent($content) { return ‘普通-‘ . $content; } } class Urgent extends Info // 紧急通知 { public function createContent($content) { return ‘紧急-‘ . $content; } } $common = new Common(new SMSInfo()); $content = $common->createContent(‘吃饭‘); $common->send($content); echo ‘<br>‘; $common = new Urgent(new EmailInfo()); $content = $common->createContent(‘着火‘); $common->send($content);
结果:
SMS:普通-吃饭 邮件:紧急-着火
以上是关于php设计模式-桥接模式的主要内容,如果未能解决你的问题,请参考以下文章