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

Page / - Изменено Alexandr Fokin в 2020/01/05 21:43 

Внедрение зависимостей в .NET | Марк Симан 
Изменено Alexandr Fokin
в 2020/01/05 21:43

Оглавление

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