Создайте прочную основу для понимания архитектуры программного обеспечения, изучив внедрение зависимостей с IoC-контейнерами
Во множестве своих курсов, я использую техники внедрения зависимостей и каждый раз студенты пишут мне в личку вопросы, связанные с непониманием этой темы. Разумеется, непонимание основ создаёт проблемы для студентов с точки зрения образовательного процесса.
Dependency Injection (DI) - внедрение зависимостей это набор техник, позволяющих доставлять зависимости до объектов. Вообще говоря, если вы когда-либо передавали зависимости через конструктор, то вы применяли так называемое внедрение через конструктор. DI - штука одновременно и простая и сложная. С одной стороны, DI состоит из простых техник, а с другой стороны, когда нам необходимо вывести DI на следующий уровень, всё становится несколько сложнее, ибо появляется необходимость использования DI (IoC) - контейнеров. Это фреймворки, которые осуществляют внедрение зависимостей автоматически. Вам только остаётся настроить такой фреймворк в корне приложения (кстати, очень важное понятие, о котором вы узнаете из курса) и после этого, все зависимости будут разрешаться во время исполнения автоматически.
Если вы до сих пор не понимаете о чём я тут говорю, то тогда просто поверьте, что вам абсолютно точно необходимо понимать что это такое. Данный курс значительно улучшит ваше понимание того как выращивается архитектура сложных программных систем. Так что, этот курс обязателен к просмотру всем кто до сих пор не понимает что такое DI и IoC-контейнеры.
Обзор курса
Курс предназначен для всех C#-программистов (ещё не разобравшимся толком с внедрением зависимостей). Курс даёт солидную теоретическую базу, подкрепляя множеством практических примеров.
Итак, курс покрывает следующие темы:
Введение в инверсию контроля (Inversion of Control или IoC):
Dependency Inversion Principle (DIP) - принцип инверсии зависимостей, Inversion of Control (IoC) - инверсия контроля, Dependency Injection (DI) - внедрение зависимостей, типы зависимостей, "чистый" DI и DI через IoC-контейнеры, паттерн "локатор служб"
Архитектурные последствия применения DI
Внедрение зависимостей: анти-паттерны и рефакторинги
Control-Freak, скрытые зависимости, временная связанность, чрезмерное внедрение в констуктор и как этого избежать, Ambient Context (контекст окружения), Facade Service, Внедрение через свойство и Bastard Injection, циклические зависимости
Рефакторинг плохо спроектированного участка кода с применением DI
Пожинаем плоды применения DI
IoC (DI) - контейнеры:
обзор, Unity, позднее связывание, аспектно-ориентированное программирование (АОП), перехват vs "чистый DI" vs АОП инструменты
Настройка бутстраппера (в корне приложения) через Unity, Autofac и Castle.Windsor
217
52
TAKE THIS COURSE