Архитектура ПО: внедрение зависимостей на C#

  • Overview
  • Curriculum
  • Instructor
  • Review

About This Course

Изучите техники внедрения зависимостей наряду с использованием IoC (DI) - контейнеров

Создайте прочную основу для понимания архитектуры программного обеспечения, изучив внедрение зависимостей с 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

  • Применять внедрение зависимостей и контейнеры для внедрения зависимостей в целях улучшения архитектуры

Course Curriculum

1 Lectures

Instructors

Profile photo of Илья Фофанов
Илья Фофанов

Я благодарен за то, что люблю своё дело.Начинал карьеру, будучи аспирантом, участвуя в конкурсе программных проектов от Майкрософт - ImagineCup.Работал с платформой .NET с 2003 года. Профессионально занимался проектированием и реализацией ПО больше 10 лет, преимущественно на платформе .NET. Люблю работать над созданием богатых и мощных приложений с использованием современных технологий. Сертифицированный специалист по WPF и WCF. Один из координаторов...

Instructors

Profile photo of DevSchool • Progressive Training Solutions
DevSchool • Progressive Training Solutions

English:We produce the best software development courses aimed at students with different skills. Our courses are concise and informative. No fluff, no ranting, only the most useful information from experienced software developers and renowned leaders in the field of programming.Russian:Мы делаем лучшие видео курсы по программированию для студентов с разным уровнем знаний и навыков. Наши курсы кратки и информативны: без...

More Courses By Илья Фофанов, DevSchool • Progressive Training Solutions
Review
4.9 course rating
4K ratings
ui-avatar of Anton
Anton
5.0
2 years ago

Хороший курс, жаль конечно что читает не автор.

  • Helpful
  • Not helpful
ui-avatar of Игорь Владимирович
Игорь �.
1.0
4 years ago

Преподаватель начинает спамить неотносящимся к курсам контентом, на замечания удаляет сообщения

  • Helpful
  • Not helpful
ui-avatar of Xeniya Denissova
Xeniya D.
5.0
4 years ago

Хорошо и подробно описан принцип инверсии зависимостей, много практических примеров, паттернов и антипаттернов

  • Helpful
  • Not helpful
ui-avatar of Индира В
Индира �.
2.5
4 years ago

Смотрел другие курсы данного преподвателя очень нравились. У этого курса очень мало практики для такой сложной темы

  • Helpful
  • Not helpful
ui-avatar of Mikhail Pestov
Mikhail P.
1.0
5 years ago

Во первых это курс не от автора, а от переводчика.
И перевод выполнен ужасно. Гигантские паузы между фразами напоминают машинный перевод. И только зря затягивают лекцию. Если бы бы сделан монтаж, то курс был бы раза в 1,5-2 короче, абсолютно без потери контента.

  • Helpful
  • Not helpful
ui-avatar of Sergii Taraban
Sergii T.
4.5
5 years ago

Отличный курс но местами слишком усложнено примерами из WPF. Я совсем не знаю WPF так как работаю в Unity 3D. Но и без этого все понятно, а места с WPF можно скипнуть

  • Helpful
  • Not helpful
ui-avatar of Roman Ugryumov
Roman U.
5.0
5 years ago

Грамотно

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses