Skip to content
UdemyC#Paid courseIntermediate levelCertificate

Паттерны проектирования C# и .NET (Udemy.com)

Современные подходы в проектировании ООП систем на платформе .NET

Created by: Dmitri Nesteruk

Last updated August 2021

icon
What you will learn

  • Находить и применять паттерны проектирования
  • Рефакторить решения к использованию паттернов
  • Оценивать применимость и полезность паттернов
  • Повысить навыки програмирования и дизайна архитектуры

icon
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 и позволяет сфокусировать на одном — на коде.

Помимо лекций, в конце каждого раздела есть задача по программированию: нужно реализовать паттерн. Эти задачи помогают закрепить пройденный материал.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

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. 

icon
More courses by Dmitri Nesteruk

$124.99

$84.99

$89.99

$99.99

$79.99

$79.99

icon
More C# courses

$74.99

$84.99

$69.99

$64.99

$19.99

$79.99

icon
Reviews

4.7

533 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

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

Спасибо, Дмитрий, за замечательный курс. Приятно тебя слушать! Несмотря на твой огромный опыт в разработке, в подаче материала присутствует такая легкость и свежесть, что хочется улыбнутся. Приходит понимание, что язык - это всего лишь средство, инструмент, а не самоцель, что в умелых руках, он позволяет выразить идею, выразить ее навыком. Такая лёгкость в повествовании - признак профессионализма! Было бы здорово, если бы ты дальше продолжил переводить курсы на русский язык!!!

Showing all 10 reviews on CourseDuck

Read all 533 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 94 / 100