8

Недавно я использовал шаблон впрыска зависимостей с Autofac как контейнер IoC.C# класс библиотека проект зависимость инъекция бутстрап

Обычно я использую его внутри основного приложения (Winform, WCF, WPF и т. Д.).

В настоящее время я учусь создать проект библиотеки классов в качестве основы для своих разработчиков-сверстников, и я склонен придерживаться шаблона DI, так как он позволяет мне тестировать единицы измерения, когда я иду.

Как настроить контейнер IoC в проекте библиотеки классов без точки входа?

Должен ли я просто сделать что-то вроде:

public static void ConfigureLibrary() { 
    //.. Do bootstraping here 
} 

и пусть ядро ​​приложения назвать его при запуске ядро ​​приложения?

Каким образом библиотеки, подобные шаблонам & Практика Enterprise Library или Spring.Net настроена?

+0

Связанный: http://stackoverflow.com/questions/1831455/what-are-the-best-practices-for-class-libraries-using-dependency-injection-for-i – Steven

+0

Связанный: http: // stackoverflow .com/questions/2045904/dependency-inject-di-friendly-library – Steven

+0

Обязательное чтение: http://blog.ploeh.dk/2014/05/19/di-friendly-library/ – Steven

ответ

8

Как библиотеки Шаблоны & практики Enterprise Library или Spring.NET настроен?

an interesting article от Chris Tavares о предмете.

+0

Интересно, на самом деле .. Из того, что я могу понять, простите меня за то, что я новичок *, даже библиотеки, такие как EntLib, все еще требуют от пользователя настройки он использует фасад, даже конфигурация так же проста, как «InitializeMyClassLibrary()». Это так? –

+0

AFAIK это не тот случай. EntLib поставляется с конфигурацией по умолчанию, которая может использоваться как есть. Должен быть фасад по умолчанию. – Steven

+0

Вы имеете в виду нечто вроде статической точки входа? –

0

Как настроить контейнер IoC в проекте библиотеки классов без точки входа?

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

Смежные вопросы