Исходя из вашего опыта, насколько критично передавать конфиги в конструктор класса?

Допустим есть класс RedisCache, ему надо знать куда коннектиться, смотрел разные фреймворки, в одном конфиг ищет сам класс кеширования из глобального конфига, у другого они передаются непосредственно в конструктор, у третьего передается Объект соединения.
Какой метод более рационален исходя из вашего опыта?
  • Вопрос задан
  • 469 просмотров
Решения вопроса 1
riky
@riky
Laravel
из опыта лучше всего использовать DI (Dependency Injection).

то есть, есть конфиг, где указаны парметры redis для кешера.
и есть конфиг DI где указано как создавать объекты Redis и RedisCache. скорее всего Redis объект будет передаваться в контруктор RedisCache.

Хотя в случае с DI, вы сможете безболезненно переделать любой вариант в любой другой на любом этапе разработки.

а также например в какой то момент у вас будет один инстанс редиса для всех целей на весь проект (и не нужно делать копии обьекта Redis, с отдельными соединениями), но вы легко можете только через конфиг переделать и выделить ему отдельный инстанс для кеша.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы