为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
Cats萌萌 2021-06-07 13:08:37
我有一个工厂类,它在调用方法 createPdf() 时创建一个 PDF 对象。我需要的所有功能都包含在该对象中。工厂本身通过创建对象来实现单一职责的 SOLID 原则,对吗?那么,在下面添加“use”语句是否违反了SOLID原则?或者在某些方面,事情应该是这样的?use Vendor\Module\Pdf;class PdfFactory{    public function createPdf(){        return new Pdf(...);    }}
查看完整描述

1 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

根据PHP 定义:


使用别名或导入来引用外部完全限定名称的能力是命名空间的一个重要特性。这类似于基于 unix 的文件系统创建指向文件或目录的符号链接的能力。


你的例子很可能写成:


class PdfFactory

{

    public function createPdf() {

        return new \Vendor\Module\Pdf(…);

    }

}

所以回答你的问题,use永远不会是违反任何原则的标准。


查看完整回答
反对 回复 2021-06-12
  • 1 回答
  • 0 关注
  • 112 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信