powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по DI
10 сообщений из 10, страница 1 из 1
Вопрос по DI
    #39853877
Hexag0v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наткнулся на использование контейнера (Unity) в сборке.

Контейнер инициализаруется и разрешает зависимости каждый раз по вызову определнного метода.
По идее место сему процессу в корне композиции.

Привел доводы против такого подхода (контейнер в библиотеке).

Производительность.
Возможный разный жизненный цыкл объектов в разных апликациях использующих эту сборку.
Зависимость сборки на конкретный контейнер.

Что еще можно сказать?
Какие альтернативы, абстракная фабрика?
...
Рейтинг: 0 / 0
Вопрос по DI
    #39853921
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Hexag0v,

Что спросить хотели?
...
Рейтинг: 0 / 0
Вопрос по DI
    #39854010
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hexag0vКакие альтернативы, абстракная фабрика?

Интерфейсы.
...
Рейтинг: 0 / 0
Вопрос по DI
    #39854021
Hexag0v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttHexag0vКакие альтернативы, абстракная фабрика?

Интерфейсы.

Интерфейсы используются в любом случае. )
Нужно динамически подгружать модули.
Этим занимается сборка, но имеет подключенный DI container.

Вопрос в том, какие грабли в таком подходе и чем заменить.

Service Locator так себе альтернатива.
...
Рейтинг: 0 / 0
Вопрос по DI
    #39854027
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hexag0v,

Ну обычно делали свою реализацию DI прям в библиотеке, которую можно было подключить к любой другой.

Сейчас же дело обстоит проще. Берёте Microsoft.Extensions.DependencyInjection и пользуете в либе. Интерфейс по сути коробочный, проблем вызывать не должно, интегрится с любым современным DI-ем.
...
Рейтинг: 0 / 0
Вопрос по DI
    #39854029
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вопрос по DI
    #39854057
Hexag0v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttНу обычно делали свою реализацию DI прям в библиотеке, которую можно было подключить к любой другой.

Библиотека сама разрешала свои зависимости?

hVosttточнее даже Microsoft.Extensions.DependencyInjection.Abstractions

А чем отличается от остальных, тем что коробочный?
...
Рейтинг: 0 / 0
Вопрос по DI
    #39854167
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hexag0vБиблиотека сама разрешала свои зависимости?

Разрешает зависимости контейнер при инъекции в конструктор/свойства. Библиотеки часто предоставляли либо свою реализацию упрощённого контейнера, либо сложным образом вводили поддержку DI.


Hexag0vА чем отличается от остальных, тем что коробочный?

Тем, что коробочный, да. Т.е. гарантируется наличие интерфейсов в библиотеках платформы, на которые "не стыдно" сослаться и можно использовать существующую реализацию или подключить любую свою.
...
Рейтинг: 0 / 0
Вопрос по DI
    #39854197
Hexag0v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttБиблиотеки часто предоставляли либо свою реализацию упрощённого контейнера.
Но, ведь контейнер должен разрешать зависимости на уровне корня композиции, коим библиотека не является..
...
Рейтинг: 0 / 0
Вопрос по DI
    #39854409
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hexag0vhVosttБиблиотеки часто предоставляли либо свою реализацию упрощённого контейнера.
Но, ведь контейнер должен разрешать зависимости на уровне корня композиции, коим библиотека не является..

Не проблема выставить статический фасад, который инкапсулирует разрешение зависимостей.

Собственно решение я вам сказал, берёте майкрософтовские абстракции и юзаете их. Клиентам придётся подключать вашу либу через майкрософтовский DI, или через любой другой, реализующий данные абстракции.

В отрыве от конкретных задач, трудно о чём-либо ещё говорить.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по DI
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]