Помнится, во времена .NET 1.1 и 2.0 можно было часто увидеть пророчества майкрософтовских евангелистов, мол, скоро любая домохозяйка сможет создавать сайты и писать программы. Большинство программистов посмеялось, но, как выяснилось, кто-то отнёсся к этому серьёзно. Во всяком случае, это объясняет, почему шаблоны проектирования IoC/DI получили второе дыхание в 2000-х, причём даже внутри самой MS (желаю Вам никогда в жизни не столкнуться с SCSF).
[![][1]][2]
С точки зрения теории разработки ПО лично мне гораздо чаще приходилось читать или слышать хвалебные статьи и отзывы об IoC/DI, но, как всегда, критика тоже есть. Можно ознакомиться, например, [здесь][3] (англ.), [здесь][4] (англ.), [тут][5] (хабр), [ещё][6] (англ.). В частности в вину ставится нарушение принципа инкапсуляции в ООП.
[Читать дальше →][7]
[1]:
https://habrastorage.org/files/d77/fad/a98/d77fada98f344babaff9c89522607514.jpg
[2]:
https://habrahabr.ru/post/325092/
[3]:
https://www.tonymarston.net/php-mysql/dependency-injection-is-evil.html
[4]:
http://www.natpryce.com/articles/000783.html
[5]:
https://habrahabr.ru/post/166287/
[6]:
https://www.quora.com/What-are-the-advantages-and-disadvantages-when-we-are-implementing-the-dependency-injection
[7]:
https://habrahabr.ru/post/325092/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut