问答详情
源自:5-2 [php]工厂模式

工厂模式的标准说明

Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclasses.(定义一个用于创建对象的 接口, 让子类决定实例化哪一个类。 工厂方法使一个类的实例化延迟到其子类。 ) 这是工厂模式的标准定义,不可否认老师的实力。但是这个地方真的讲解有问题,讲的不是工厂,算是简单工厂吧

提问者:LongMer 2018-10-11 08:17

个回答

  • KSMDNS
    2020-02-28 17:34:12

    按照你的意思,那可以改一改,把在createDatabase()里面传递一个类参数,譬如createDatabase(Database);顶部文件上面加上引入use App\Model\Database; 这样行不?

    <?php
    use App\Model\Database; 
    
    $db = IMooc\Factory()::createDatabase(Database);
    ?>

    那么class Facrory里面的方法就是

    function createDatabase($className){
        $db = new $className;
        return $db;
    }

    这个对不?

    老师的应该算是一个简单的工厂模式

  • 慕粉2022476955
    2018-11-27 15:01:07

    我看起来和多态差不多的 抽象 ,接口 最下面做个工厂类