Обзоры DI-контенеров доступных для .NET 2020
От: _NN_ www.nemerleweb.com
Дата: 07.12.20 12:11
Оценка:
Хотелось бы узнать, что изменилось со времён: Обзоры DI-контенеров доступных для .NET 2010
Автор: sharcUs
Дата: 08.06.10

Чем пользуетесь сегодня ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Обзоры DI-контенеров доступных для .NET 2020
От: fmiracle  
Дата: 07.12.20 12:26
Оценка: +1
Здравствуйте, _NN_, Вы писали:

_NN>Хотелось бы узнать, что изменилось со времён: Обзоры DI-контенеров доступных для .NET 2010
Автор: sharcUs
Дата: 08.06.10


Появился встроенный в asp.net контейнер. Простой, но вполне достаточный для многих случаев, и при этом прямо в комплекте, так что активно используется.

_NN>Чем пользуетесь сегодня ?


Castle Windsor — в проектах которые идут с 2010 года еще. Хотя в целом он неплохой и фукнциональный.

Autofac — гибкий и удобный. Насколько припоминаю 2010й год (могу ошибаться), тогда он был еще редко используемым, с тех пор обрел популярность.

Ну и встроенный в asp.net
Отредактировано 07.12.2020 12:28 fmiracle . Предыдущая версия .
Re: Обзоры DI-контенеров доступных для .NET 2020
От: BlackEric http://black-eric.lj.ru
Дата: 07.12.20 13:50
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Хотелось бы узнать, что изменилось со времён: Обзоры DI-контенеров доступных для .NET 2010
Автор: sharcUs
Дата: 08.06.10

_NN>Чем пользуетесь сегодня ?

Используем встроенный, Autofac и Unity.
Встроенный в основном на простых приложениях.
https://github.com/BlackEric001
Re: Обзоры DI-контенеров доступных для .NET 2020
От: romangr Россия  
Дата: 07.12.20 14:16
Оценка: 8 (1) +1
Здравствуйте, _NN_, Вы писали:

_NN>Хотелось бы узнать, что изменилось со времён: Обзоры DI-контенеров доступных для .NET 2010
Автор: sharcUs
Дата: 08.06.10

_NN>Чем пользуетесь сегодня ?

Встроенный в ASP.NET Core, Autofac, TinyIoC
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[2]: Обзоры DI-контенеров доступных для .NET 2020
От: _NN_ www.nemerleweb.com
Дата: 07.12.20 20:53
Оценка:
Здравствуйте, BlackEric, Вы писали:

BE>Здравствуйте, _NN_, Вы писали:


_NN>>Хотелось бы узнать, что изменилось со времён: Обзоры DI-контенеров доступных для .NET 2010
Автор: sharcUs
Дата: 08.06.10

_NN>>Чем пользуетесь сегодня ?

BE>Используем встроенный, Autofac и Unity.

BE>Встроенный в основном на простых приложениях.

Почему «и»?
Недостаточно одного Autofac?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: Обзоры DI-контенеров доступных для .NET 2020
От: _NN_ www.nemerleweb.com
Дата: 07.12.20 20:54
Оценка:
Здравствуйте, romangr, Вы писали:

R>Здравствуйте, _NN_, Вы писали:


_NN>>Хотелось бы узнать, что изменилось со времён: Обзоры DI-контенеров доступных для .NET 2010
Автор: sharcUs
Дата: 08.06.10

_NN>>Чем пользуетесь сегодня ?

R>Встроенный в ASP.NET Core, Autofac, TinyIoC


Почему одного было недостаточно?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: Обзоры DI-контенеров доступных для .NET 2020
От: _NN_ www.nemerleweb.com
Дата: 07.12.20 20:55
Оценка:
F>Castle Windsor — в проектах которые идут с 2010 года еще. Хотя в целом он неплохой и фукнциональный.

F>Autofac — гибкий и удобный. Насколько припоминаю 2010й год (могу ошибаться), тогда он был еще редко используемым, с тех пор обрел популярность.


F>Ну и встроенный в asp.net


А что посоветуете для простого консольного приложения ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: Обзоры DI-контенеров доступных для .NET 2020
От: fmiracle  
Дата: 07.12.20 21:12
Оценка: +1
Здравствуйте, _NN_, Вы писали:

F>>Castle Windsor — в проектах которые идут с 2010 года еще. Хотя в целом он неплохой и фукнциональный.

F>>Autofac — гибкий и удобный. Насколько припоминаю 2010й год (могу ошибаться), тогда он был еще редко используемым, с тех пор обрел популярность.
F>>Ну и встроенный в asp.net
_NN>А что посоветуете для простого консольного приложения ?

Если очень надо DI-контейнер, то Autofac пожалуй, посоветую. Он в целом хороший.

Но если это именно простое и не очень-то большое консольное приложение, то еще посоветую подумать, что может контейнер там и не нужен вообще?
Re[4]: Обзоры DI-контенеров доступных для .NET 2020
От: _NN_ www.nemerleweb.com
Дата: 07.12.20 21:24
Оценка:
Здравствуйте, 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 конфигурацией которая может пригодиться нам.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: Обзоры DI-контенеров доступных для .NET 2020
От: romangr Россия  
Дата: 08.12.20 05:16
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Почему одного было недостаточно?


В старых проектах AutoFac, в новых ASP.NET Core встроенный, в Xamarin — TinyIoC.
Хотя можно было и одним AutoFac обойтись, но так уж сложилось.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: Обзоры DI-контенеров доступных для .NET 2020
От: fmiracle  
Дата: 08.12.20 07:31
Оценка: 8 (1) +1
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
От: _NN_ www.nemerleweb.com
Дата: 08.12.20 07:34
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>В .net core вроде и то и другое (и DI и конфиги разных источников, включая json) можно подключать независимо от asp.net core.

Спасибо.
Посмотрю что там в ASP.NET происходит, но чувствую, что Autofac будет более простым и скорее всего правильным решением
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Обзоры DI-контенеров доступных для .NET 2020
От: takTak  
Дата: 08.12.20 07:39
Оценка: 12 (1)
_NN>Хотелось бы узнать, что изменилось со времён: Обзоры DI-контенеров доступных для .NET 2010
Автор: sharcUs
Дата: 08.06.10

_NN>Чем пользуетесь сегодня ?

надо, наверное, смотреть на скорость, всё остальное — не так важно

https://github.com/danielpalme/IocPerformance
Re[7]: Обзоры DI-контенеров доступных для .NET 2020
От: takTak  
Дата: 08.12.20 07:46
Оценка: +1
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
Отредактировано 08.12.2020 7:55 takTak . Предыдущая версия .
Re[8]: Обзоры DI-контенеров доступных для .NET 2020
От: _NN_ www.nemerleweb.com
Дата: 08.12.20 08:02
Оценка:
Здравствуйте, 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

Чем лучше / хуже / отличается от остальных ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[9]: Обзоры DI-контенеров доступных для .NET 2020
От: takTak  
Дата: 08.12.20 08:04
Оценка:
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
От: BlackEric http://black-eric.lj.ru
Дата: 08.12.20 08:40
Оценка:
Здравствуйте, _NN_, Вы писали:

BE>>Используем встроенный, Autofac и Unity.

BE>>Встроенный в основном на простых приложениях.

_NN>Почему «и»?

_NN>Недостаточно одного Autofac?

Так исторически повелось. Проекты старые довольно.
https://github.com/BlackEric001
Re[3]: Обзоры DI-контенеров доступных для .NET 2020
От: Ночной Смотрящий Россия  
Дата: 08.12.20 14:29
Оценка: +1
Здравствуйте, _NN_, Вы писали:

_NN>А что посоветуете для простого консольного приложения ?


Родной контейнер
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: Обзоры DI-контенеров доступных для .NET 2020
От: Ночной Смотрящий Россия  
Дата: 08.12.20 14:30
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>А DI от ASP.NET тащит с собой весь ASP.NET или можно отдельно использовать ?


Можно отдельно. https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Обзоры DI-контенеров доступных для .NET 2020
От: Sharov Россия  
Дата: 08.12.20 14:32
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>А что посоветуете для простого консольного приложения ?


Я использую встроенный.
https://www.youtube.com/watch?v=GAOCe-2nXqc
Кодом людям нужно помогать!
Отредактировано 08.12.2020 14:34 Sharov . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.