Николай Пьяников - Чистый DI
Vložit
- čas přidán 22. 08. 2024
- Ближайшая конференция - DotNext 2024, 10 - 11 сентября, Москва + online
Подробности и билеты: jrg.su/x2GKnA
- -
Скачать презентацию с сайта DotNext - jrg.su/QlLSfK
Спикер рассказывает о проблемах, с которыми сталкиваются разработчики, и о том, как инверсия зависимостей помогает их решать.
Сначала - немного теории по DI. Какие есть виды DI, их достоинства и недостатки, этапы эволюции: чистый DI, DI-контейнеры на основе Dictionary, LINQ Expressions и Reflection.Emit.
Спикер рассказывает о чистом DI на базе .NET Source Generators как гибриде, объединяющем достоинства разных подходов. В докладе - интересные детали реализации генератора исходного кода Pure.DI, а также примеры его использования в различных сценариях.
В Asp используется встроеный DI, можно ли там заместить его на Pure. Di?
Ого, 20 лет опыта 😮
Продано на 15й минуте)
До конца пока не досмотрел, но возник вопрос, есть ли функциональность scoped времени жизни? Было что-то per resolve это и есть аналог scoped?
Что по минусам, очевидно они есть?
Нет позднего связывания
Минус как таковыз нет, но и идеальных реализаций тоже
Из минусов:
- все компоненты раскиданы вверху, и разработчик может набрать больше чем требуется, так как это просто, еще мало кто разделяет di на обшем уровне, и уровне отдельного компонента, из за чего могут протечь абстракции, или на более нижнем уровне откатиться к лапше инициализации (самый популярный выбор)
- еще момент, что как правило нет контролля над тем в каком порядке компоненты будут создаваться и умирать, особенно если некоторые занимают много времени, или хотелось бы разбить инициализацию на несколько шагов или запараллелить
дольше компилиться будет)