Главная страница   /   12.5. Резюме (Внедрение зависимостей в .NET

Внедрение зависимостей в .NET

Внедрение зависимостей в .NET

Марк Симан

12.5. Резюме

Среди рассматриваемых в этой главе DI-контейнеров Spring.NET уникален тем, что это единственный контейнер, реализованный как порт из Java. И это более очевидный факт, чем то, что Spring.NET в большой степени полагается на XML-конфигурацию.

Большинство из старейших DI-контейнеров в начале своего пути были сильно сфокусированы на XML. Но если другие DI-контейнеры продвинулись вперед, Spring.NET не сделал ни одного шага в эту сторону.

Несмотря на то, что в последующих версиях Spring.NET возможно в большей степени будут поддерживаться технологии использования кода в качестве конфигурации и даже конфигурация на основании соглашений, применение Spring.NET на сегоднящний день несет за собой большое количество XML-кода.

Возможно, самым слабым местом Spring.NET является ограниченная поддержка механизма управления жизненным циклом. С одной стороны, Spring.NET, как и StructureMap, явным образом не поддерживает высвобождение диаграммы объектов (это можно рассматривать как отсутствие каких-либо возможностей). С другой стороны, Spring.NET не поддерживает пользовательские области применения объектов.

Хотя возможности механизма управления жизненными циклами не столь примечательны, Spring.NET – один из нескольких DI-контейнеров, предлагающих встроенный механизм перехвата.

Spring.NET все еще базируется на .NET 1.1, что, возможно, для некоторых является и преимуществом. Мы получаем полноценный пакет документации и возможность покупки коммерческого сопровождения. Поэтому, несмотря на то, что вцелом Spring.NET может показаться старомодным, он все равно является одним из профессиональных пакетов.

Мы можем рассматривать Spring.NET как устаревший, но проверенный фреймворк. В противоположность этому в следующей главе рассматривается один из самых современных DI-контейнеров: Autofac.