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

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


那么,在下面添加“use”语句是否违反了SOLID原则?或者在某些方面,事情应该是这样的?


use Vendor\Module\Pdf;


class PdfFactory

{

    public function createPdf(){

        return new Pdf(...);

    }

}


Cats萌萌
浏览 113回答 1
1回答

慕丝7291255

根据PHP 定义:使用别名或导入来引用外部完全限定名称的能力是命名空间的一个重要特性。这类似于基于 unix 的文件系统创建指向文件或目录的符号链接的能力。你的例子很可能写成:class PdfFactory{    public function createPdf() {        return new \Vendor\Module\Pdf(…);    }}所以回答你的问题,use永远不会是违反任何原则的标准。
打开App,查看更多内容
随时随地看视频慕课网APP