Мне очень нравится концепция DI. Но для меня смысл DI всегда заключался в том, что все зависимости внедряются через конструктор основываясь на указанном интерфейсе:
__constructor(OneInterface $one, TwoInterface $two)
В DIC я указываю реализацию интерфейсов OneInterface
и TwoInterface
, и он сам подставляет все на свои места (autowiring
?)
А вот SL, что-то типо ассоциативного массива, в котором есть разные сервисы под своими уникальными именами.
$service = $sl->get('someService');
Все было хорошо, пока не решил почитать документацию к Symfony, где в через DIC можно сделать вот такой хитрый финт:
$container->get('app.some.service');
И тут я почувствовал запах SL. Я слышал, как ругают ServiceLocator. Практика показала, что его есть за что ругать.
Но чем тогда DIC принципиально отличается от SL, если и там и там можно по имени обратиться к сервису? По сути, DIC это очень навороченный SL? Или я что-то где-то упустил?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, разрабатываю дрошиппинг есть json не как не понимаю как собирать массив со sku чтобы на выходе получил так:
При добавлении товара в корзину у меня записывается кука с id поста с которого был добавлен товар
Есть чат на WebSocketsВ нем общаются люди во время трансляции
Мне нужно сохранить значение в сессии после авторизацииПишу: