Является ли добавление оператора «use» в фабричный класс нарушением SOLID? - PullRequest
0 голосов
/ 09 мая 2019

У меня есть фабричный класс, который создает объект PDF при вызове метода createPdf (). Все нужные мне функции содержатся внутри этого объекта. Фабрика сама выполняет ТВЕРДЫЙ принцип единой ответственности, создавая объект, верно?

Итак, является ли добавление выражения «использование» ниже нарушением принципов SOLID? Или так должно быть, в некотором роде?

use Vendor\Module\Pdf;

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

1 Ответ

0 голосов
/ 09 мая 2019

Согласно определению PHP :

Способность ссылаться на внешнее полное имя с псевдонимом или импортом является важной особенностью пространств имен.Это похоже на способность файловых систем на основе Unix создавать символические ссылки на файл или каталог.

Ваш пример вполне может быть записан так:

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

Поэтому, чтобы ответить на ваш вопрос, use никогда не будет критерием нарушения какого-либо принципа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...