[#] Удобное создание Composition Root с помощью Autofac
habrabot(difrex,1) — All
2016-10-05 12:00:03


Проекты, разработкой и сопровождением которых я занимаюсь, довольно велики по объему. По этой причине в них активно используется паттерн [Dependency Injection][1].



Важнейшей частью его реализации является [Composition Root][2] — точка сборки, обычно выполняемая по паттерну [Register-Resolve-Release][3]. Для хорошо читаемого, компактного и выразительного описания Composition Root обычно используется такой инструмент как [DI-контейнер][4], при наличии выбора я предпочитаю использовать [Autofac][5].



Несмотря на то, что данный контейнер заслуженно считается лидером по удобству, у разработчиков встречается немало вопросов и даже претензий. Для наиболее частых проблем из собственной практики я опишу способы, которые могут помочь смягчить или полностью убрать практически все трудности, связанные с использованием Autofac как инструмента конфигурации Composition Root.

[Читать дальше →][6]

[1]: https://en.wikipedia.org/wiki/Dependency_injection
[2]: http://blog.ploeh.dk/2011/07/28/CompositionRoot/
[3]: http://blog.ploeh.dk/2010/09/29/TheRegisterResolveReleasepattern/
[4]: https://smarly.net/dependency-injection-in-net/putting-dependency-injection-on-the-map/di-containers/introducing-di-containers
[5]: https://autofac.org/
[6]: https://habrahabr.ru/post/269479/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut