Курс: Управление зависимостями в .NET
Продолжительность курса: 8 ак. ч.
Описание курса:
Современный мир быстро меняется, а за ним и задачи бизнеса, что требует разработки гибких приложений. Один из способов достижения гибкости – уменьшение жестких зависимостей между частями системы. Для этого в распоряжении разработчика есть множество шаблонов и инструментов. Один из действенных подходов – инверсия зависимостей (Dependency Injection), которому и посвящен курс.
Однако мало иметь в распоряжении хороший инструмент, важно понимать, как и когда его использовать. Существует огромное количество примеров, когда шаблоны и инструменты используются неверно и вместо пользы приносят неудобства в сопровождении программных комплексов. В рамках курса будут показаны такие примеры и принципы проектирования систем, что чтение кода, тестирование и изменение не будут трудной задачей. Особое внимание будет уделено работе с IoC фреймворками, которые облегчают применение DI. Слушатели курса увидят, что важно понимать принципы, стоящие за IoC, и разберутся, как готовить свой код, чтобы избавить себя от рутинной работы.
Аудитория:
• профессиональные .NET разработчики;
• архитекторы ПО
Необходимая подготовка:
• Знание основных понятий объектно-ориентированного проектирования и опыт работы с языком C# не менее 2-х лет.;
Программа курса:
Модуль 1. Базовые принципы
• Базовые принципы проектирования
• Принцип инверсии зависимостей
• IoC vs DI
• GoF паттерны для управления зависимостями на .Net
Модуль 2. DI паттерны и антипаттерны
DI-паттерны
• Composition Root
• Constructor Injection
• Property Injection
• Method Injection
DI-анти-паттерны
• Service Locator
• Ambient Context
Модуль 3. DI Container basics
• Базовые понятия
• Композиция объектов
• Конфигурация контейнеров
Модуль 4. Управление зависимостями на практике
• Борьба с изменениями
• Пристальный взгляд на DIP
• Изменчивые и постоянные зависимости
• Метрики управления зависимостями
• Типы и силы связей
• Практические советы
Модуль 5. DI Container Advanced Topics
• Управление временем жизни зависимостей
• Перехватчики вызовов
• Модульность конфигурации
Окончательная цена указывается в договоре на обучение.
Записаться на курс