Появился встроенный в asp.net контейнер. Простой, но вполне достаточный для многих случаев, и при этом прямо в комплекте, так что активно используется.
_NN>Чем пользуетесь сегодня ?
Castle Windsor — в проектах которые идут с 2010 года еще. Хотя в целом он неплохой и фукнциональный.
Autofac — гибкий и удобный. Насколько припоминаю 2010й год (могу ошибаться), тогда он был еще редко используемым, с тех пор обрел популярность.
F>Castle Windsor — в проектах которые идут с 2010 года еще. Хотя в целом он неплохой и фукнциональный.
F>Autofac — гибкий и удобный. Насколько припоминаю 2010й год (могу ошибаться), тогда он был еще редко используемым, с тех пор обрел популярность.
F>Ну и встроенный в asp.net
А что посоветуете для простого консольного приложения ?
Здравствуйте, _NN_, Вы писали:
F>>Castle Windsor — в проектах которые идут с 2010 года еще. Хотя в целом он неплохой и фукнциональный. F>>Autofac — гибкий и удобный. Насколько припоминаю 2010й год (могу ошибаться), тогда он был еще редко используемым, с тех пор обрел популярность. F>>Ну и встроенный в asp.net _NN>А что посоветуете для простого консольного приложения ?
Если очень надо DI-контейнер, то Autofac пожалуй, посоветую. Он в целом хороший.
Но если это именно простое и не очень-то большое консольное приложение, то еще посоветую подумать, что может контейнер там и не нужен вообще?
Re[4]: Обзоры DI-контенеров доступных для .NET 2020
Здравствуйте, fmiracle, Вы писали:
F>Здравствуйте, _NN_, Вы писали:
F>>>Castle Windsor — в проектах которые идут с 2010 года еще. Хотя в целом он неплохой и фукнциональный. F>>>Autofac — гибкий и удобный. Насколько припоминаю 2010й год (могу ошибаться), тогда он был еще редко используемым, с тех пор обрел популярность. F>>>Ну и встроенный в asp.net _NN>>А что посоветуете для простого консольного приложения ?
F>Если очень надо DI-контейнер, то Autofac пожалуй, посоветую. Он в целом хороший.
F>Но если это именно простое и не очень-то большое консольное приложение, то еще посоветую подумать, что может контейнер там и не нужен вообще?
Ну оно уже не совсем такое простое .
Есть и конфигурация и много тестов.
А DI от ASP.NET тащит с собой весь ASP.NET или можно отдельно использовать ?
В ASP.NET есть ещё работа с JSON конфигурацией которая может пригодиться нам.
F>>Но если это именно простое и не очень-то большое консольное приложение, то еще посоветую подумать, что может контейнер там и не нужен вообще? _NN>Ну оно уже не совсем такое простое . _NN>Есть и конфигурация и много тестов.
Dependency Injection вещь полезная, а контейнер нужен не всегда
В конфигурации контейнер удобно, хотя тоже не всегда нужно. В autofac хорошая система модулей, которые описываются как классы, с параметрами конструктора, а потом подключаются с теми или иными значениями параметров.
Тесты — если речь про юнит-тесты, то вот в них-то я бы точно не советовал контейнер применять. Пробовал, получалась ерунда. Но если внедрение зависимостей везде реализовано через конструктор, без использования сервис-локатора, то и тесты отлично пишутся именно на один класс в изоляции — создаешь тестируемый объект, а все зависимости передаешь заглушками с заданным поведением.
Интеграционные с разными настройками — там да, может быть актуален контейнер.
_NN>А DI от ASP.NET тащит с собой весь ASP.NET или можно отдельно использовать ? _NN>В ASP.NET есть ещё работа с JSON конфигурацией которая может пригодиться нам.
В .net core вроде и то и другое (и DI и конфиги разных источников, включая json) можно подключать независимо от asp.net core.
Re[6]: Обзоры DI-контенеров доступных для .NET 2020
Здравствуйте, fmiracle, Вы писали:
F>В .net core вроде и то и другое (и DI и конфиги разных источников, включая json) можно подключать независимо от asp.net core.
Спасибо.
Посмотрю что там в ASP.NET происходит, но чувствую, что Autofac будет более простым и скорее всего правильным решением
F>>В .net core вроде и то и другое (и DI и конфиги разных источников, включая json) можно подключать независимо от asp.net core. _NN>Спасибо. _NN>Посмотрю что там в ASP.NET происходит, но чувствую, что Autofac будет более простым и скорее всего правильным решением
в каком-то старом проекте Autofac используется, так вот меня просто бесит, что там зависимости сконфигурированы не в коде, а в XML-файле
потом, надо смотреть, насколько контейнер дружит с вебом, с тем же EF, будет ли он дальше развиваться и т.д.
имхо, Autofac — это отжившее, я бы взял Microsoft.Extensions.DependencyInjection, $
или вот ещё кандидат: https://github.com/dadhi/DryIoc
Здравствуйте, takTak, Вы писали:
F>>>В .net core вроде и то и другое (и DI и конфиги разных источников, включая json) можно подключать независимо от asp.net core. _NN>>Спасибо. _NN>>Посмотрю что там в ASP.NET происходит, но чувствую, что Autofac будет более простым и скорее всего правильным решением
T>в каком-то старом проекте Autofac используется, так вот меня просто бесит, что там зависимости сконфигурированы не в коде, а в XML-файле
Так то это не обязательно ведь https://autofac.org/
T>потом, надо смотреть, насколько контейнер дружит с вебом, с тем же EF, будет ли он дальше развиваться и т.д.
С этого и началось обсуждение.
T>имхо, Autofac — это отжившее, я бы взял Microsoft.Extensions.DependencyInjection, $
Судя по GitHub-у развивается.
Разве нет ?
T>или вот ещё кандидат: https://github.com/dadhi/DryIoc
Чем лучше / хуже / отличается от остальных ?
T>>имхо, Autofac — это отжившее, я бы взял Microsoft.Extensions.DependencyInjection, $ _NN>Судя по GitHub-у развивается. _NN>Разве нет ?
T>>или вот ещё кандидат: https://github.com/dadhi/DryIoc _NN>Чем лучше / хуже / отличается от остальных ?
так ты пройди по ссылке: там есть benchmark, Microsoft.Extensions.DependencyInjection — примерно на том же уровне,
Autofac сосёт и по скорости и по памяти
Re[3]: Обзоры DI-контенеров доступных для .NET 2020
Здравствуйте, _NN_, Вы писали:
BE>>Используем встроенный, Autofac и Unity. BE>>Встроенный в основном на простых приложениях.
_NN>Почему «и»? _NN>Недостаточно одного Autofac?
Так исторически повелось. Проекты старые довольно.
Здравствуйте, _NN_, Вы писали:
_NN>Ну оно уже не совсем такое простое . _NN>Есть и конфигурация и много тестов.
_NN>А DI от ASP.NET тащит с собой весь ASP.NET или можно отдельно использовать ? _NN>В ASP.NET есть ещё работа с JSON конфигурацией которая может пригодиться нам.