php 简单工厂模式



1. 简单工厂模式

简单工厂,也称静态工厂,不属于GoF23种设计模式。可以说是所有的设计模式中大家可能最容易理解的模式

传入指定数据,返回相应的内容

使用接口更加符合面向对象的规范

createMessage 不一定使用 static,看自己业务情况决定

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


2. 实列

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('您有新的短消息,请查收');
posted @ 2020-12-28 12:00  linsonga  阅读(113)  评论(0)    收藏  举报