Является ли передача вложенного объекта другому объекту анти-шаблоном?
В метадокументе PSR-11 говорится:
Как правило, если ваш объект вычисляет имя записи среди списка записей, которые могут варьироваться, ваш вариант использования, безусловно, является законным.
...но это относится только к услугам, верно? Итак, мой вопрос: в следующих трех примерах классов
FooConfig
выступая в качестве сервисного локатора ?
class NameConfig
{
public function __construct(
protected string $name
) { }
public function getName(): string
{
return $this->name;
}
}
class FooConfig
{
public function __construct(
protected NameConfig $nameConfig
) { }
public function getNameConfig(): NameConfig {
return $this->nameConfig;
}
}
class Foo
{
public function __construct(
protected FooConfig $fooConfig
) {
someFunction(
$fooConfig->getNameConfig()->getName()
);
}
}