工厂模式

工厂模式:通过一个工厂类生产对象,工厂类调用自身静态方法生产对象实例。

//简单工厂模式
interface walk
{
    public function walk();
}

class person implements walk
{
    public function walk()
    {
        echo 'person walk ---';
    }
}

class animal implements walk
{
    public function walk()
    {
        echo 'animal walk';
    }
}

class fac
{
    public static function factory($factory)
    {
        switch($factory){
            case 'person':
            return new person;
            case 'animal':
            return new animal;
        }
    }
}

fac::factory('person')->walk();
fac::factory('animal')->walk();
简单工厂模式

使用工厂模式好处:易维护,可扩展,比如说一个类,你实例化了多个对象,但突然需求变了,需要改变类,这个时候实例化的对象也需要改变,那就比较麻烦了。而采用工厂模式,只需要对工厂类中的方法改变,也就是只需要改这一个地方,很方便。

https://www.cnblogs.com/mingaixin/p/4324156.html  =》 这个链接里三种工厂模式没有明白区别。慢慢理解吧。

工厂模式的讨论:https://segmentfault.com/q/1010000005849224?_ea=935141

原文地址:https://www.cnblogs.com/bneglect/p/10982297.html