在工厂类中添加“使用”语句是否违反SOLID?

时间:2019-05-09 05:56:25

标签: php oop

我有一个工厂类,当调用createPdf()方法时会创建一个PDF对象。我需要的所有功能都包含在该对象中。工厂本身通过创建对象来满足SOLID单一责任原则,对吗?

那么,在下面添加“ use”语句是否违反SOLID原则?还是在某种程度上应该是这样?

use Vendor\Module\Pdf;

class PdfFactory
{
    public function createPdf(){
        return new Pdf(...);
    }
}

1 个答案:

答案 0 :(得分:0)

按照PHP definition

  

使用别名引用外部完全限定名称或进行导入的能力是名称空间的重要功能。这类似于基于Unix的文件系统创建指向文件或目录的符号链接的功能。

您的示例很可能是这样写的:

class PdfFactory
{
    public function createPdf() {
        return new \Vendor\Module\Pdf(…);
    }
}

因此,回答您的问题,use绝不是违反任何原则的标准。