工厂模式:使用工厂方法或者类生成对象,而不是在代码中直接new。
目的
使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数。
单例模式 vs 工厂模式
单例模式解决如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。
实例代码
1.创建测试类
<?php
class Test{
    public function test(){
        echo '我是工厂模式测试类';
    }
}2.创建测试工厂类 TestFactory.php
<?php
class TestFactory{
    /*
     * 如果某个类在很多的文件中都new ClassName(),那么万一这个类的名字
     * 发生变更或者参数发生变化,如果不使用工厂模式,就需要修改每一个PHP
     * 代码,使用了工长模式之后,只需要修改工厂类或者方法就可以了。
     */
    static function getInstance(){
        $test = new Test();
        return $test;
    }
}3.使用测试工厂类
<?php
spl_autoload_register('autoload_test');
function autoload_test($class){
    require __DIR__ . "\\".$class.".php";
}
$test = TestFactory::getInstance();
$test->test();工厂模式可细分为:简单工厂模式、工厂方法模式、抽象工厂模式、静态工厂方法
具体细节后续完善
 
                 
                
发表评论 取消回复