工厂模式

定义

一个类通过本身的静态方法来,实例化一个类并返回一个实例对象;

工厂模式特点

  • 类命名特点:nameFactory example: class mysqlFactory{} 【这是为了规范,当然也去起其他任意名字】。
  • 静态方法名称: public static function factory($class_name){}【静态方法是类与外界的接口, 返回的是一个对象】。

优点

如果已经使用的类内部发生改变,哪不需要在所有的地方都改变,只需要在类工厂类里改变既可,比如:连接数据库,可以使用mysql 、mysqli、pdo,根据不同参数配置使用不同的数据库操作类。

例子

<?php

interface mysql{
    public function connect();
}

class pdo1 implements mysql{
    public function connect(){
         echo 'pdo';
    }
}

class mysqli1 implements mysql{
    public function connect(){
             echo 'mysqli';
    }
}

class myFactory{
    public static function factory($class_name){
        return new $class_name;
    }
}

$obj = myFactory::factory('pdo');
$obj->connect();

更多精彩内容,关注下面的微信公众号~
扫码_搜索联合传播样式-标准色版.png


喝醉的清茶
165 声望15 粉丝