Описание
Современный мир быстро меняется, а за ним и задачи бизнеса, что требует разработки гибких приложений. Один из способов достижения гибкости – уменьшение жестких зависимостей между частями системы. Для этого в распоряжении разработчика есть множество шаблонов и инструментов. Один из действенных подходов – инверсия зависимостей (Dependency Injection), которому и посвящен тренинг.
Однако мало иметь в распоряжении хороший инструмент, важно понимать, как и когда его использовать. Существует огромное количество примеров, когда шаблоны и инструменты используются неверно и вместо пользы приносят неудобства в сопровождении программных комплексов. В рамках тренинга будут показаны такие примеры и принципы проектирования систем, что чтение кода, тестирование и изменение не будут трудной задачей. Особое внимание будет уделено работе с IoC фреймворками, которые облегчают применение DI. Слушатели курса увидят, что важно понимать принципы, стоящие за IoC, и разберутся, как готовить свой код, чтобы избавить себя от рутинной работы.
Помимо примеров «как надо», будут рассмотрены случаи, как не надо делать, и к чему это может приводить.
По итогам тренинга у слушателей появится прочная теоретическая база, подкрепленная практическими примерами для дальнейшего развития и применения подходов на практике. Выбор IoC фреймворка и дизайн классов будут проходить более осознанно.
сертификат на бланке IBS Training Center
Цели
Целевая аудитория
Предварительная подготовка
Разбираемые темы
-
1. Базовые принципы – 2 ч.
- Базовые принципы проектирования
- Принцип инверсии зависимостей
- IoC vs DI
- GoF паттерны для управления зависимостями на .Net
-
2. DI паттерны и антипаттерны – 2 ч.
DI-паттерны
- Composition Root
- Constructor Injection
- Property Injection
- Method Injection
- Service Locator
- Ambient Context
-
3. DI Container basics – 2 ч.
- Базовые понятия
- Композиция объектов
- Конфигурация контейнеров
-
4. Управление зависимостями на практике – 0,5 ч.
- Борьба с изменениями
- Пристальный взгляд на DIP
- Изменчивые и постоянные зависимости
- Метрики управления зависимостями
- Типы и силы связей
- Практические советы
-
5. Практический пример – 0,3 ч.
⠀⠀ -
6. DI Container Advanced Topics – 1 ч.
- Управление временем жизни зависимостей
- Перехватчики вызовов
- Модульность конфигурации
-
7. Ключевые моменты и заключение – 0,2 ч.
⠀⠀ -
Всего: теория + демонстрация – 8 ч. (100%)