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

Page / - Изменено Alexandr Fokin в 2020/01/24 14:45

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

Изменено Alexandr Fokin

в 2020/01/24 14:45

Оглавление

В данной книге рассматриваются концепции 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!