PHP设计模式-工厂模式,个人理解:把new一个对象的写法,写成调用静态方法的方式去创建对象!方便日后修改

概念:

工厂设计模式提供获取某个对象的新实例的一个接口,同时使调用代码避免确定实际实例化基类步骤。 很多高级模式都是依赖于工厂模式。

好处:

PHP中能够创建基于变量内容的类的新实例,减少主代码流中的基于条件复杂性; 同时如果类发生改变不需要所有的地方进行修改,只需要在工厂中进行修改 (无论对象被修改或者添加其他对象,Factory对象调用方式仍让是相同的)

注意重点: 简单可以理解为,把new一个对象的写法,写成调用静态方法的方式去创建对象!还可以在以后项目迭代对类修改后,作为统一修改,如传入的初始化的参数修改

interface  mysql{
 
    public function connect();
}
 
class mysqli2  implements mysql{
 
    public  function connect(){
        echo 'mysqli';
    }
}
 
class pdo2 implements mysql{
 
    public function connect(){
        echo 'pdo';
    }
}
 
 
class mysqlFactory{
 
 
    static public function factory($class_name){
        return new $class_name();
    }
 
}
 
$obj = mysqlFactory::factory('pdo2');    //把直接new pdo2(),写成了通过调用静态方法创建对象
$obj->connect();

参考资料:https://www.cnblogs.com/jxkshu/p/9473710.html