# Внедрение зависимостей в .NET | Марк Симан

Редактировал(а) Alexandr Fokin 2024/10/02 10:51

| В данной книге рассматриваются концепции DI и IOC. А также приводятся примеры взаимодействия с framework IOC контейнерами. Приводятся примеры паттернов и анти-паттернов. Управление жизненным циклом зависимостей.
Преобразование абстракций в конкретные типы (Процесс разрешения) | DI - процесс внедрения типов при создании экземпляров. Poor man DI - ручное явное внедрение без использования DI(IOC) контейнера. DI(IOC) контейнер - инструмент позволяющий производить внедрение типов автоматически на основе некоторого, сконфигурированного пользователем, маппинга (абстракция -> тип) IOC подразумевает наличие библиотеки или фреймворка, контролирующего часть жизненного цикла приложения и предоставляющий интерфейс для реализации некоторый логики в рамках жизненного цикла разработчику.
Типы внедрений: | Внедрение в конструктор (обязательное) Внедрение в свойство (необязательное, предполагает возможность наличия значения по умолчанию) Внедрение в метод (внедрение при вызове метода) Фабрика
| DI IOC AOP

- Появление механизма внедрения зависимостей
  - 1. "Дегустационное меню" механизма внедрения зависимостей
    - 1.1. Написание поддерживаемого кода
    - 1.2. Привет DI
    - 1.3. Что внедрять, а что не внедрять
    - 1.4. Область применения DI
    - 1.5. Резюме
  - 2. Комплексный пример
    - 2.1. Как не стоит поступать
    - 2.2. Как действовать правильно
    - 2.3. Расширение шаблонного приложения
    - 2.4. Резюме
  - 3. DI-контейнеры
    - 3.1. Знакомство с DI-контейнерами
    - 3.2. Конфигурирование DI-контейнеров
    - 3.3. Паттерны DI-контейнеров
    - 3.4. Перспектива DI-контейнеров
    - 3.5. Резюме
- Каталог DI
  - 4. DI паттерны
    - 4.1. Внедрение в конструктор (Constructor Injection)
    - 4.2. Внедрение в свойство (Property Injection)
    - 4.3. Внедрение в метод (Method Injection)
    - 4.4. Окружающий контекст (Ambient Context)
    - 4.5. Резюме
  - 5. DI анти-паттерны
    - 5.1. Control Freak
    - 5.2. Bastard Injection
    - 5.3. Constrained Construction
    - 5.4. Service Locator
    - 5.5. Резюме
  - 6. DI рефакторинг
    - 6.1. Преобразование динамических значений в абстракции
    - 6.2. Работа с недолговечными зависимостями
    - 6.3. Разрешение циклических зависимостей
    - 6.4. Обсуждение феномена Constructor Over-injection
    - 6.5. Мониторинг связывания
    - 6.6. Резюме
- DI самостоятельно
  - 7. Построение объектов
    - 7.1. Построение консольных приложений
    - 7.2. Построение ASP.NET MVC приложений
    - 7.3. Построение WCF приложений
    - 7.4. Построение WPF приложений
    - 7.5. Построение ASP.NET приложений
    - 7.6. Построение PowerShell cmdlets
    - 7.7. Резюме
  - 8. Жизненный цикл объектов
    - 8.1. Управление жизненным циклом зависимостей
    - 8.2. Работа с устраняемыми зависимостями
    - 8.3. Каталог стилей существования объектов
    - 8.4. Резюме
  - 9. Механизм перехвата
    - 9.1. Знакомство с механизмом перехвата
    - 9.2. Реализация сквозных сущностей
    - 9.3. Объявление аспектов
    - 9.4. Резюме
- DI-контейнеры
  - 10. Castle Windsor
    - 10.1. Знакомство с Castle Windsor
    - 10.2. Управление жизненным циклом
    - 10.3. Работа с составными компонентами
    - 10.4. Конфигурирование сложных API
    - 10.5. Резюме
  - 11. StructureMap
    - 11.1. Знакомство с StructureMap
    - 11.2. Управление жизненным циклом
    - 11.3. Работа с составными компонентами
    - 11.4. Конфигурирование сложных API
    - 11.5. Резюме
  - 12. Spring.NET
    - 12.1. Знакомство с Spring.NET
    - 12.2. Управление жизненным циклом
    - 12.3. Работа с составными компонентами
    - 12.4. Конфигурирование сложных API
    - 12.5. Резюме
  - 13. Autofac
    - 13.1. Знакомство с Autofac
    - 13.2. Управление жизненным циклом
    - 13.3. Работа с составными компонентами
    - 13.4. Регистрация сложных API
    - 13.5. Резюме
  - 14. Unity
    - 14.1. Знакомство с Unity
    - 14.2. Управление жизненным циклом
    - 14.3. Работа с составными компонентами
    - 14.4. Конфигурирование сложных API
    - 14.5. Резюме
  - 15. MEF
    - 15.1. Знакомство с MEF
    - 15.2. Управление жизненным циклом
    - 15.3. Работа с составными компонентами
    - 15.4. Конфигурирование сложных API
    - 15.5. Резюме

#### Внутренние ссылки:

###### Дочерние страницы:

###### Обратные ссылки:

No back links for this page!

Теги: DI DependencyInjection ВнедрениеЗависимостей IOC Book Книга
Создал(а) Alexandr Fokin 2020/01/05 21:44

- Комментарии (0)
- Вложения (1)
- История
- Информация

## Приложения