网站建设选哪个公司,湛江网站建设公司哪个好,俄罗斯搜索引擎,深圳办公室装修招标我们给大家介绍了php工厂模式的好处#xff0c;工厂模式的含义#xff0c;以及工厂模式的三种情况#xff0c;那么我们今天继续给大家介绍php工厂模式的作用是什么#xff01;工厂模式分为三种#xff1a;简单工厂、工厂方法、抽象工厂 ,三种工厂的区别是#xff0c;抽象…我们给大家介绍了php工厂模式的好处工厂模式的含义以及工厂模式的三种情况那么我们今天继续给大家介绍php工厂模式的作用是什么工厂模式分为三种简单工厂、工厂方法、抽象工厂 ,三种工厂的区别是抽象工厂由多条产品线而工厂方法只有一条产品线是抽象工厂的简化。而工厂方法和简单工厂相对大家初看起来好像工厂方法增加了许多代码但是实现的功能和简单工厂一样。但本质是简单工厂并未严格遵循设计模式的开闭原则当需要增加新产品时也需要修改工厂代码。但是工厂方法则严格遵守开闭原则模式只负责抽象工厂接口具体工厂交给客户去扩展。在分工时核心工程师负责抽象工厂和抽象产品的定义业务工程师负责具体工厂和具体产品的实现。只要抽象层设计的好框架就是非常稳定的。简单工厂优点产品使用者不需要关心产品类的创建过程与具体产品的实现类达到解耦的效果缺点违背开放--封闭原则(OCP)因为新增一个产品类的时候需要修改原先的工厂方法适用场合当工厂类负责创建的对象比较少的时候实现方法定义一个简单共产类并定义一个静态生产方法根据传进来的type参数生成对应的具体父亲类具体代码如下?php //抽象产品interface Person {public function getName(); }//具体产品实现class Teacher implements Person {public function getName() {return 老师n;}}class Student implements Person {public function getName() {return 学生n;}}//简单工厂class SimpleFactory {public static function getPerson($type) {$person null;if ($type teacher) {$person new Teacher();} elseif ($type student) {$person new Student();}return $person;}}//简单工厂调用class SimpleClient {function main() {// 如果不用工厂模式则需要提前指定具体类// $person new Teacher();// echo $person-getName();// $person new Student();// echo $person-getName();// 用工厂模式则不需要知道对象由什么类产生交给工厂去决定$person SimpleFactory::getPerson(teacher);echo $person-getName();$person SimpleFactory::getPerson(student);echo $person-getName();}}总结通过本文的学习相信大家对php工厂模式的作用有了一个新的概念希望对你的工作有所帮助~相关推荐