Кстати да, если вы не пользуете юнит-тестами и полиморфно не заменяете сервисы, то не вижу смысла вообще использовать SL или DI )
Кстати да, если вы не пользуете юнит-тестами и полиморфно не заменяете сервисы, то не вижу смысла вообще использовать SL или DI )
# Delphinum (17.11.2016 / 14:28)
Кстати да, если вы не пользуете юнит-тестами и полиморфно не заменяете сервисы, то не вижу смысла вообще использовать SL или DI )
не пользуете юнит-тестами
полиморфно не заменяете сервисы
# Delphinum (17.11.2016 / 14:23)1. Да же не знаю, ты о циклических зависимостях? Их контейнеры вообще решать не умеют, только с помощью ленивой инициализации через прокси.
L!MP, чем искать первоисточник я лучше здесь напишу эти условия:
1. Рекурсивные зависимости - современные DI решения хоть и могут с ними справляться, но бывают такие сложные зависимости, что быстрее
# L!MP (17.11.2016 / 14:33)Ну грубо говоря - похоже, просто этот скомпилированный вариант еще надо распарсить и в итоге применить к сервис-локатору (что у любого DI в основе и есть), что ведет за собой накладные расходы.
А чем в отладке отличается сервис локатор, от скомпилированного, аля симфони, контейнера? Там же считай он и есть.
# AlkatraZ (17.11.2016 / 14:33)Тебе для движка юнит тесты вообще не нужны так как тестировать то толком не чего.
не пользуемся, ибо геморой
# L!MP (17.11.2016 / 14:37)Логично.
Тебе для движка юнит тесты вообще не нужны так как тестировать то толком не чего.
Там тогда уж функциональные тесты будут к стати.
# AlkatraZ (17.11.2016 / 14:37)Я понятия не имею про эти ваши фабрики и если начну представлять, то наверняка представляю что то совсем не то.
Ну грубо говоря - похоже, просто этот скомпилированный вариант еще надо распарсить и в итоге применить к сервис-локатору (что у любого DI в основе и есть), что ведет за собой накладные расходы.
не пр
# AlkatraZ (17.11.2016 / 14:33)Я не о замене SL на другой SL, а о замене какого то сервиса в этом SL на аналогичный, но с другой реализацией. На пример замена одного Logger (пишущий в файл) на другой Logger (пишущий в базу). Если таких замен нет и не предвидится, то смысла использовать SL я не вижу, так как можно сделать Logger тупо глобальным и везде пользовать его (говнокод но все же).
Слишком "плоское" определение. Сервис-локатор сам по себе относительно небольшой класс.
По сравнению с автоматическим DI вообще мизер.
Посему, заменять его на какую-то статику. или что другое нет см
# Delphinum (17.11.2016 / 14:42)Ну так то можно и не увидеть смысла использовать ООП вообще, гг.
Если таких замен нет и не предвидится, то смысла использовать SL я не вижу
# L!MP (17.11.2016 / 14:33)Есть у меня проект, в котором я своими руками (да не будет мне прощения) реализовал зависимость вида Mapper <-> Entity, тобишь в Mapper есть Entity, а в Entity есть Mapper. Рекурсивная зависимость, мать ее. Обычный DI не смог разрешить эту зависимость, пришлось переходить на SL и руками ее разрешать.
1. Да же не знаю, ты о циклических зависимостях? Их контейнеры вообще решать не умеют, только с помощью ленивой инициализации через прокси.