微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 类

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐