php 简单工厂模式



简单工厂模式

简单工厂,也称静态工厂,不属于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,看自己业务情况决定

增加发送渠道时,添加新类继承 Message 接口,实现 send() 方法,switch 添加 new 类

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...