О чём курс
Современный мир быстро меняется, а за ним и задачи бизнеса, что требует разработки гибких приложений. Один из способов достижения гибкости – уменьшение жестких зависимостей между частями системы. Для этого в распоряжении разработчика есть множество шаблонов и инструментов. Один из действенных подходов – инверсия зависимостей (Dependency Injection), которому и посвящен тренинг.
Однако мало иметь в распоряжении хороший инструмент, важно понимать, как и когда его использовать. Существует огромное количество примеров, когда шаблоны и инструменты используются неверно и вместо пользы приносят неудобства в сопровождении программных комплексов.
В рамках тренинга будут показаны такие примеры и принципы проектирования систем, что чтение кода, тестирование и изменение не будут трудной задачей. Особое внимание будет уделено работе с IoC фреймворками, которые облегчают применение DI. Слушатели курса увидят, что важно понимать принципы, стоящие за IoC, и разберутся, как готовить свой код, чтобы избавить себя от рутинной работы.
Помимо примеров «как надо», будут рассмотрены случаи, как не надо делать, и к чему это может приводить.
По итогам тренинга у слушателей появится прочная теоретическая база, подкрепленная практическими примерами для дальнейшего развития и применения подходов на практике. Выбор IoC фреймворка и дизайн классов будут проходить более осознанно.
Цели
Изучить базовые принципы управления зависимостями. Рассмотреть ключевые DI-паттерны и анти-паттерны, а также познакомиться с одним из DI-контейнеров.
Целевая аудитория
Профессиональные .NET разработчики и архитекторы ПО.
Предварительная подготовка
Знание основных понятий объектно-ориентированного проектирования и опыт работы с языком C# не менее 2-х лет.
Для кого
Архитектор ПО
Разработчик
Улучшаемые навыки
Понимание принципов управления зависимостями
Использование контейнеров внедрения зависимостей
Конфигурация и настройка зависимостей
Тестирование с использованием моков и стабов
Лучшие практики управления зависимостями
Расписание курсов
Программа курса
Базовые принципы проектирования
Принцип инверсии зависимостей
IoC vs DI
GoF паттерны для управления зависимостями на .Net
02
DI паттерны и антипаттерны
DI-паттерны
Composition Root
Constructor Injection
Property Injection
Method Injection
DI-анти-паттерны
Service Locator
Ambient Context
Базовые понятия
Композиция объектов
Конфигурация контейнеров
04
Управление зависимостями на практике
Борьба с изменениями
Пристальный взгляд на DIP
Изменчивые и постоянные зависимости
Метрики управления зависимостями
Типы и силы связей
Практические советы
06
DI Container Advanced Topics
Управление временем жизни зависимостей
Перехватчики вызовов
Модульность конфигурации
07
Ключевые моменты и заключение
⠀⠀
08
Всего: теория + демонстрация – 8 ч. (100%)
Чему вы научитесь
01
Научитесь основным принципам управления зависимостями, включая инверсию управления (IoC) и внедрение зависимостей (DI)
02
Освоите работу с популярными контейнерами внедрения зависимостей в .NET
03
Научитесь настраивать и конфигурировать зависимости в приложениях .NET, включая использование различных методов, таких как конструктор, свойства и методы
04
Освоите методы тестирования с использованием моков и стабов для изолированного тестирования компонентов
05
Научитесь применять лучшие практики управления зависимостями, включая принципы SOLID и паттерны проектирования