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

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

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

Марк Симан

11. StructureMap

Меню:

  • Знакомство со StructureMap
  • Управление жизненным циклом
  • Работа с составными компонентами
  • Конфигурирование сложных API

В предыдущей главе мы рассматривали DI-контейнер Castle Windsor с целью увидеть, как к нему применяются принципы и паттерны, описанные в частях 1-3. В данной главе мы практически то же самое сделаем и для другого DI-контейнера – StructureMap.

StructureMap – старейший DI-контейнер из всех DI-контейнеров для .NET. Он существует дольше, чем все остальные контейнеры. Несмотря на его возраст, он все еще продолжает активно развиваться и обладает множеством современных возможностей, поэтому мы должны рассматривать его возраст, главным образом, как доказательство его развитости. Кроме того, StructureMap является одним из наиболее универсально используемых DI-контейнеров.

В данной главе мы рассмотрим то, как можно использовать StructureMap для практического применения принципов и паттернов, изложенных ранее в частях 1-3. Рисунок 11-1 демонстрирует структуру данной главы.

Рисунок 11-1: Данная глава разделена на 4 раздела. Первый раздел знакомит нас с API StructureMap и должен рассматриваться в качестве предпосылки следующих трех разделов. Каждый из четырех разделов данной главы может быть прочитан независимо от остальных разделов, несмотря на то, что в четвертом разделе используются методы, которые вводятся в третьем разделе. Данные методы имеют относительно понятные имена, поэтому вы можете прочитать четвертый раздел, не читая при этом третий. Но, с другой стороны, вы можете обнаружить, что вам время от времени придется обращаться к этому разделу.

Первый раздел обеспечивает полноценное знакомство со StructureMap и демонстрирует, как конфигурировать и разрешать компоненты. Каждая из трех последующих глав имеет дело с паттернами применения, которые требуют к себе дополнительного внимания. Вы можете читать их по порядку или пропустить некоторые и прочитать только те, которые вам интересны.

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

Вы можете прочитать эту главу, не читая при этом остальные главы части 4, специально для того, чтобы познакомиться со StructureMap, или можете прочитать ее совместно с остальными главами части 4, чтобы сравнить DI-контейнеры. Цель данной главы – показать, как StructureMap связан с паттернами и принципами, описанными в частях 1-3, и как он их реализует.

11.1. Знакомство с StructureMap

11.2. Управление жизненным циклом

11.3. Работа с составными компонентами

11.4. Конфигурирование сложных API

11.5. Резюме