Паттерны проектирования C# и .NET (Udemy.com)
Современные подходы в проектировании ООП систем на платформе .NET
Created by: Dmitri Nesteruk
Last updated August 2021
What you will learn
- Находить и применять паттерны проектирования
- Рефакторить решения к использованию паттернов
- Оценивать применимость и полезность паттернов
- Повысить навыки програмирования и дизайна архитектуры
Course Description
Обзор курса
Этот курс предоставляет слушателю наиболее полный обзор Паттернов проектирования C# и .NET через чисто практический подход. В частности, на этом курсе вы увидите:
Последние версии языка C# экосистемы .NET
Современные подходы к проектированию: dependency injection, реактивное программирование, и т.п.
Использование современного инструментария разработки (Rider)
Обсуждение вариаций и альтернативных реализаций паттернов
Этот курс покрывает все паттерна Банды Четырех (GoF) а также современные вариации и изменения. Также мы обсудим наличие паттернов встроенных в сам язык или фреймворки .NET (например BCL).
Что еще за Паттерны Проектирования?
Паттерны проектирования — это готовые к использованию решения часто встречающихся задач проектирования. Паттерны были популяризованы в книге 1994 года Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, John Vlissides, Ralph Johnson and Richard Helm (авторов иногда называют Бандой Четырех — Gang of Four — оттуда сокращение GoF).
Оригинальный труд был написан с помощью языков C++ и Smalltalk, но с тех времен утекло много воды, и паттерны успешно адаптировали под все современные языки, такие как C#, Java, PHP, и даже под не-ООП языки, такие как JavaScript.
Применимость паттернов проектирования универсальна: мы встречаем их в библиотеках, некоторые из них встроены прямо в язык, и вы наверняка сами используете их в вашем коде, даже не подозревая что они там есть.
Какие паттерны покрыты в курсе?
В этом курсе вы узнаете про все паттерны Банды Четырех. Вот что вы узнаете из курса:
Принципы проектирования SOLID: Принцип Единственной Обязанности, Принцип Открыт/Закрыт, Принцип Подстановки Лисков, Принцип Разделения Интерфейсов и Принцип Инверсии Зависимостей
Порождающие паттерны: Строитель, Фабрики (Фабричный Метод, Абстрактная Фабрика), Прототип, Синглтон
Структурные паттерны: Адаптер, Мост, Компоновщик, Декоратор, Фасад, Приспособленец, Заместитель
Поведенческие паттерны: Цепочка обязанностей, Команда, Интерпретатор, Итератор, Посредник, Хранитель, Null Object, Наблюдатель, Состояние, Стратегия, Шаблонный Метод, Посетитель
Для кого этот курс?
Этот курс создан для .NET/C# разработчиков которые хотят видеть не только типовые примеры паттернов, но также различные вариации и трюки языка которые можно использовать чтобы писать паттерны в "современном" стиле. Например, с использованием DLR и ImpromptuInterface, мы можем сделать DynamicObject который реализует любой нужный нам интерфейс. Это дает возможность динамического программирования и позволяет делать интересные реализации некоторых паттернов.
В курсе используются достаточно сложные аспекты C#, такие как dynamic, рекурсивные дженерики и т.п.. Также, очень сильно задействованы сторонние библиотеки и фреймворки: Autofac (dependency injection), TPL и async/await для многопоточности, LINQ, Reactive Extensions, и другие.
Стиль преподавания
Весь курс представлен как набор лайв-кодинг сессий, в нем минимум теории и максимум практики! Видео представлены с помощью моей собственной системы Kinetica, которая отбрасывает весь визуальный шум от IDE и позволяет сфокусировать на одном — на коде.
Помимо лекций, в конце каждого раздела есть задача по программированию: нужно реализовать паттерн. Эти задачи помогают закрепить пройденный материал.
Instructor Details
- 4.7 Rating
533 Reviews
Dmitri Nesteruk
Dmitri is a quant, developer, book author and course author. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009.
More courses by Dmitri Nesteruk
Learn Parallel Programming with C# and .NET (2019)
4.6 (4,562 Reviews)
Provider: Udemy
Time: 5.3h
$99.99
More C# courses
Language-Integrated Query 快速上手 ( C# ) (LINQ) (2017)
4.8 (304 Reviews)
Provider: Udemy
Time: 1.9h
$74.99
C# TOTAL - Programador Experto en 28 días (2026)
4.7 (2,977 Reviews)
Provider: Udemy
Time: 36.8h
$69.99
Object Oriented Programming with C# - Beginner to Advanced (2020)
4.7 (2,063 Reviews)
Provider: Udemy
Time: 5.6h
$64.99
Learn Game Development with C# Programming and MonoGame! (2025)
4.7 (1,093 Reviews)
Provider: Udemy
Time: 6.6h
$79.99
Reviews
By Айнур on 10/26/2023
Отличный курс! Хороший темп -- выдается максимум полезного материала за короткое время, без "сюсюканий" )) . Узнал много нового не только про паттерны, но и про возможности и конструкции языка, сторонние и встроенные библиотеки. Особо отмечу, не по теме курса, но увидел, как можно эффективно использовать IDE для генерации кода и рефакторинга, это очень сильно увеличивает производительность. Спасибо, Дмитрий!
By Alexander V on 11/14/2022
Не хватает практических заданий в 1 разделе, если понимание и усваивание для моего уровня впринципе более менее, то например в 5 части 1 раздела, я слабо усвоил материал. Я бы подкрепил его не просто переписыванием кода с видео, а рядом практических заданий которые позволили бы сделать тоже самое но самостоятельно дойти до этого.
By Anatolii Velykokhatskyi on 8/29/2022
Очень интересно смотреть, автор доступно объясняет!
By Artem Likhenko on 6/5/2022
Данный курс мне очень понравился. Во-первых автор хорошо и бегло озвучивает материал - всё по делу и без воды, граммотной речью без эканий-бэканий. Во-вторых сам материал, не могу сказать что все разделы были чем-то абсолютно новым для меня, но тем не менее практически каждый раздел содержит какую-то новую полезную вещь, о которой я не знал ранее. Автор заслуживает наивысшей похвалы за распространение своего опыта и знаний среди коллег. Огромное ему спасибо!
By Iryna Neviedomska on 11/13/2021
Отличный курс! Мне как новичку было сложно усваивать паттерны, пришлось искать дополнительную информацию по ним. Этот курс интересен тем, что даёт не только классическую реализацию паттернов, но и другие возможные варианты их применения. Примеры из курса полезны и интересны
By Aleksey Vershinin on 8/29/2021
На данный момент - это лучший курс, который я вообще смотрел, а их было не мало, как платных, так и бесплатных, не именно про паттерны, а вообще. Про паттерны ранее много читал, но здесь примеры приближенные к жизни и пониманию, если хотите. Кроме паттернов вы увидите много полезного в плане реализации задуманного. Автору огромная благодарность за труды!
By Alex Shikunov on 7/24/2021
Замечательный курс, позволяет освежить в памяти что-то уже известное и узнать много нового про каждый, даже в целом знакомый, паттерн. При это все четко, сжато исключительно по делу и на практических примерах. Что можно было бы улучшить? Добавить в курс больше задач повышенной сложности - многие из представленных решаются излишне просто.
By Anton Osadchii on 12/26/2020
Курс отличный, автору - большое спасибо! Все очень подробно, структурировано и без воды. Пара проблем была с задачами - не везде приведены примеры тестов и потому не всегда понятно, что от тебя ожидается - пару раз приходилось смотреть ответ до завершения упражнения чтобы просто понять, как сделаны тесты, а не само решение. В остальном - все просто огонь, советую всем!
By Dmitry Lukas on 9/20/2020
Большое спасибо за курс! Довольно долго пытался разобратся в паттернах с помощью книг и сайтов, но всё было путано и непоятно. Тут же увидел много живых примеров, автор разжевывает сложные веши и хорошо доносит суть. Так же плюс общее понимание как писать красивый ООП код.
By Варнавский Алексей on 5/8/2020
Спасибо, Дмитрий, за замечательный курс. Приятно тебя слушать! Несмотря на твой огромный опыт в разработке, в подаче материала присутствует такая легкость и свежесть, что хочется улыбнутся. Приходит понимание, что язык - это всего лишь средство, инструмент, а не самоцель, что в умелых руках, он позволяет выразить идею, выразить ее навыком. Такая лёгкость в повествовании - признак профессионализма! Было бы здорово, если бы ты дальше продолжил переводить курсы на русский язык!!!
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 94 / 100












