Курс на Stepik
Обложка курса «Шаблоны проектирования на C# и .NET» на Stepik
1 990 ₽

Шаблоны проектирования на C# и .NET ★ 5.000

Открыть на
STEPIK.ORG

Курс иллюстрирует современные подходы в проектировании ООП систем на платформе .NET с использованием языка программирования C#

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Шаблоны проектирования на C# и .NET»Учеников на курсе 53
Сертификаты, выданные на курсе «Шаблоны проектирования на C# и .NET»Сертификатов выдано 0
Отзывы о курсе «Шаблоны проектирования на C# и .NET»Отзывов получено 1
Рейтинг курса «Шаблоны проектирования на C# и .NET»Рейтинг курса 5.000
Уроки в курсе «Шаблоны проектирования на C# и .NET»Количество уроков 165
Задачи с кодом в курсе «Шаблоны проектирования на C# и .NET»Количество задач с кодом 23
Время прохождения курса «Шаблоны проектирования на C# и .NET»Время прохождения курса —
Стоимость курса «Шаблоны проектирования на C# и .NET»Стоимость курса 1 990 ₽ —
Обновления курса «Шаблоны проектирования на C# и .NET»Обновления курса — —
Дата публикации курса «Шаблоны проектирования на C# и .NET»Дата публикации курса — ———
Последнее обновление курса «Шаблоны проектирования на C# и .NET»Последнее обновление — ———
Сложность normal — ———

Содержание курса

Разделы в курсе «Шаблоны проектирования на C# и .NET» 26 разделов Уроки в курсе «Шаблоны проектирования на C# и .NET» 165 уроков Задачи в курсе «Шаблоны проектирования на C# и .NET» 23 задачи Время прохождения курса «Шаблоны проектирования на C# и .NET» 16 ч. Последнее обновление курса «Шаблоны проектирования на C# и .NET» обн. 19 августа 2026

Введение

1 урок
1. Введение ↗

Принципы проектирования SOLID

7 уроков
1. Введение ↗
2. Single Responsibility Principle (SRP) ↗
3. Open-Closed Principle (OCP) ↗
4. Liskov Substitution Principle (LSP) ↗
5. Interface Segregation Principle (ISP) ↗
6. Dependency Inversion Principle (DIP) ↗
7. Заключение ↗

Строитель (Builder)

10 уроков
1. Введение ↗
2. Жизнь без строителя ↗
3. Строитель ↗
4. Строитель с fluent-интерфейсом ↗
5. Многогранный строитель ↗
6. Наследование строителей с помощью рекурсивных дженериков ↗
7. Функциональный строитель ↗
8. Строитель-параметр ↗
9. Задача на программирование паттерна Строитель ↗
10. Заключение ↗

Фабрики (Factories)

9 уроков
1. Введение ↗
2. Пример с точкой ↗
3. Фабричный метод ↗
4. Фабрика ↗
5. Вложенная фабрика ↗
6. Асинхронные фабрики ↗
7. Абстрактная фабрика ↗
8. Задача на программирование паттерна Фабрика ↗
9. Заключение ↗

Прототип (Prototype)

7 уроков
1. Введение ↗
2. ICloneable — плохая штука ↗
3. Копирующий конструктор ↗
4. Копирование через сериализацию ↗
5. Фабрика прототипов ↗
6. Задача на программирование паттерна Прототип ↗
7. Заключение ↗

Синглтон (Singleton)

8 уроков
1. Введение ↗
2. Реализуем Singleton ↗
3. Проблемы с тестированием ↗
4. Синглтон и внедрение зависимостей ↗
5. Мультитон ↗
6. Monostate ↗
7. Задача на программирование паттерна Синглтон ↗
8. Заключение ↗

Адаптер (Adapter)

8 уроков
1. Введение ↗
2. Сценарий векторной/растровой растеризации ↗
3. Кэширование в адаптере ↗
4. Суррогат свойств ↗
5. Адаптер в контексте внедрения зависимостей ↗
6. Адаптер для литералов в дженериках ↗
7. Задача на программирование паттерна Адаптер ↗
8. Заключение ↗

Мост (Bridge)

4 урока
1. Введение ↗
2. Мост ↗
3. Задача на программирование паттерна Мост ↗
4. Заключение ↗

Компоновщик (Composite)

6 уроков
1. Введение ↗
2. Геометрические формы ↗
3. Нейросети ↗
4. Композитная спецификация ↗
5. Задача на программирование паттерна Компоновщик ↗
6. Заключение ↗

Декоратор (Decorator)

8 уроков
1. Введение ↗
2. Кастомный StringBuilder ↗
3. Динамическая композиция декораторов ↗
4. Статическая композиция декораторов ↗
5. Множественное наследование с интерфейсами ↗
6. Адаптер-декоратор ↗
7. Задача на программирование паттерна Декоратор ↗
8. Заключение ↗

Фасад (Façade)

4 урока
1. Введение ↗
2. Фасад ↗
3. Задача на программирование паттерна Фасад ↗
4. Заключение ↗

Приспособленец (Flyweight)

5 уроков
1. Введение ↗
2. Повторяющиеся имена пользователей ↗
3. Форматирование текста ↗
4. Задача на программирование паттерна Приспособленец ↗
5. Заключение ↗

Заместитель (Proxy)

10 уроков
1. Введение ↗
2. Защитный заместитель ↗
3. Виртуальный заместитель ↗
4. Заместитель доступа к свойству ↗
5. Заместитель для значений ↗
6. Композитный заместитель и задача SoA/AoS ↗
7. Композитный заместитель с полями-массивами ↗
8. Динамический заместитель для логирования ↗
9. Задача на программирование паттерна Заместитель ↗
10. Заключение ↗

Цепочка обязанностей (Chain of Responsibility)

6 уроков
1. Введение ↗
2. Цепочка методов ↗
3. Разделение команд и запросов (CQS) ↗
4. Цепочка через брокер ↗
5. Задача на программирование паттерна Цепочка обязанностей ↗
6. Заключение ↗

Команда (Command)

6 уроков
1. Введение ↗
2. Команда ↗
3. Операции undo ↗
4. Композитная команда ↗
5. Задача на программирование паттерна Команда ↗
6. Заключение ↗

Интерпретатор (Interpreter)

5 уроков
1. Введение ↗
2. Лексический разбор ↗
3. Синтаксический разбор ↗
4. Задача на программирование паттерна Интерпретатор ↗
5. Заключение ↗

Итератор (Iterator)

6 уроков
1. Введение ↗
2. Объект — итератор ↗
3. Метод итерации ↗
4. Свойства с полем-массивом ↗
5. Задача на программирование паттерна Итератор ↗
6. Заключение ↗

Посредник (Mediator)

7 уроков
1. Введение ↗
2. Групповой чат ↗
3. Посредник с событиями ↗
4. Брокер событий с Reactive Extensions ↗
5. Введение в MediatR ↗
6. Задача на программирование паттерна Посредник ↗
7. Заключение ↗

Хранитель (Memento)

5 уроков
1. Введение ↗
2. Хранитель ↗
3. Undo и redo ↗
4. Задача на программирование паттерна Хранитель ↗
5. Заключение ↗

Null Object

5 уроков
1. Введение ↗
2. Null object ↗
3. Динамический null object ↗
4. Задача на программирование паттерна Null Object ↗
5. Заключение ↗

Наблюдатель (Observer)

10 уроков
1. Введение ↗
2. Ключевое слово event ↗
3. Паттерн слабых событий (Weak Event Pattern) ↗
4. Наблюдатель через специальные интерфейсы ↗
5. Наблюдаемые свойства и коллекции ↗
6. Зависимости между свойствами ↗
7. Двунаправленный наблюдатель ↗
8. Декларативные подписки на события ↗
9. Задача на программирование паттерна Наблюдатель ↗
10. Заключение ↗

Состояние (State)

7 уроков
1. Введение ↗
2. Классическая реализация ↗
3. Делаем конечный автомат вручную ↗
4. Конечный автомат на switch-ах ↗
5. Конечный автомат через Stateless ↗
6. Задача на программирование паттерна Состояние ↗
7. Заключение ↗

Стратегия (Strategy)

6 уроков
1. Введение ↗
2. Динамическая стратегия ↗
3. Статическая стратегия ↗
4. Стратегии сравнения ↗
5. Задача на программирование паттерна Стратегия ↗
6. Заключение ↗

Шаблонный метод (Template Method)

5 уроков
1. Введение ↗
2. Шаблонный метод ↗
3. Функциональный шаблонный метод ↗
4. Задача на программирование паттерна Шаблонный метод ↗
5. Заключение ↗

Посетитель (Visitor)

9 уроков
1. Введение ↗
2. Интрузивный посетитель ↗
3. Рефлективный посетитель ↗
4. Строитель посетителей ↗
5. Классический посетитель (Double Dispatch) ↗
6. Динамический посетитель через DLR ↗
7. Посетитель без циклов (Acyclic Visitor) ↗
8. Задача на программирование паттерна Посетитель ↗
9. Заключение ↗

Завершение курса

1 урок
1. Заключение ↗