[#] DI в сложных приложениях. Как не утонуть в зависимостях
habrabot(difrex,1) — All
2015-09-17 20:00:03


Всем привет. При конструировании приложений хорошим тоном является использование Dependency Injection(внедрение зависимостей). Данный подход позволяет делать код слабо связанным, а это в свою очередь обеспечивает легкость сопровождения. Также облегчается тестирование и код становится красивым, универсальным и заменяемым. При разработке наших продуктов с самого начала использовался этот принцип: и в высоконагруженной DSP и в корпоративном [Hybrid][1]. Мы писали модули, подключали интеграцию с различными системами, количество зависимостей росло и в какой-то момент стало сложно поддерживать само конфигурирование приложения. Плюс к этому добавлялись неявные регистрации(например, кастомный DependencyResolver для Web Api задавался в настройках Web Api) и начали возникать сложности с **_порядком _**вызова модулей конфигурации. В конце концов мы выработали подход для регистрации, конфигурации и инициализации модулей в сложном приложении. О нём и расскажу. ![image][2] [Читать дальше →][3]

[1]: http://hybrid.ru
[2]: https://habrastorage.org/files/067/ecd/a1c/067ecda1c3824cd7886d796a91c8b93b.png
[3]: http://habrahabr.ru/post/266975/#habracut