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