>(Странно, но по моему мнению мы опять получили сверхсвязанные классы. Ведь сколько методов используют принудительно указанный тип параметра, в стольких местах и понадобится переименование — разве нет? Примечание переводчика) По-моему, тут просто не очень удачный пример в коде, т.к. объект класса `Responce` используется в большинстве методов контроллера `UsersController`. Внедрение через методы удобно использовать когда метод использует объект не используемый в большинстве других методов. Например, если в контроллере пользователей `UsersController` есть метод для приглашения на сайт по e-mail другого пользователя `inviteByEmail()`, который работает через объект реализующий интерфейс `IMailer`: ```php class UsersController extends BaseController { public function inviteByEmail(IMailer $mailer) { return $mailer->send('Join us!'); } } ``` Класс реализующий интерфейс `IMailer` может работать через сторонний сервис, для инициализации работы с которым в конструкторе класса может происходить долгая авторизация на сервисе и т.д, что нет смысла делать, при вызове всех других методов класса `UsersController`. Т.е. если интерфейс используется в большинстве методов класса, то лучше использовать внедрение через конструктор. Если только в нескольких методах, то лучше делать его внедрение через метод.