简单工厂模式
简单工厂,也称静态工厂,不属于GoF23种设计模式。可以说是所有的设计模式中大家可能最容易理解的模式
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 createFactory($type){
switch($type){
case 'Ali':
return new AliYunMessage();
case 'BD':
return new BaiduYunMessage();
default:
return null;
}
}
}
$message = MessageFactory::createMessage('Ali');
echo $message->send('您有新的短消息,请查收');
传出指定字符串,返回相应的内容
使用接口更加符合面向对象的规范
createMessage 不一定使用 static,看自己业务情况决定