简单工厂,也称静态工厂,不属于GoF23种设计模式。但是可以说是所有的设计模式中最容易理解的。
GoF类图:
PHP方法类图:
PHP:
<?php
// 发送短信接口
interface 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 MessageFactory {
public static function createMessage($type){
switch($type){
case 'Ali':
return new AliYunMessage();
case 'BD':
return new BaiduYunMessage();
default:
return null;
}
}
}
$message = MessageFactory::createMessage('Ali');
echo $message->send('您有新的短消息,请查收');
文档信息
- 本文作者:carpe
- 本文链接:https://carpedx.com/wiki/design-pattern-simple-factory/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)