Курс на 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. Заключение