当前位置: 代码迷 >> 综合 >> php 简单工厂模式
  详细解决方案

php 简单工厂模式

热度:40   发布时间:2024-01-28 15:31:36.0

实例

场景:短信发送功能模块。现在我们使用了三个商家的,分别是阿里云、百度SMS、极光的短信服务,在不同业务中可能使用不同的短信发送商,使用简单工厂可以方便的完成这个需求。

类图:

 

代码:

<?phpinterface Message {public function send(string $msg);
}class AliYunMessage implements Message{public function send(string $msg){// 调用接口,发送短信return '阿里云短信(原阿里大鱼)发送成功!短信内容:' . $msg;}
}class BaiduYunMessage implements Message{public function send(string $msg){// 调用接口,发送短信return '百度SMS短信发送成功!短信内容:' . $msg;}
}class JiguangMessage implements Message{public function send(string $msg){// 调用接口,发送短信return '极光短信发送成功!短信内容:' . $msg;}
}class MessageFactory {public static function createMessage($type){switch($type){case 'Ali':return new AliYunMessage();case 'BD':return new BaiduYunMessage();case 'JG':return new JiguangMessage();default:return null;}}
}// 当前业务需要使用极光
$message = MessageFactory::createMessage('JG');
echo $message->send('您有新的短消息,请查收');?>

 

  相关解决方案