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

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

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

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

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

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

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

1. Введение

1 урок
Закрытый
1.1 Введение
48
38
15м 52с
4

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

7 уроков
Закрытый
2.1 Введение
39
39
1м 12с
3
Закрытый
2.2 Single Responsibility Principle (SRP)
40
40
10м 47с
3
Закрытый
2.3 Open-Closed Principle (OCP)
37
31
22м 1с
3
Закрытый
2.4 Liskov Substitution Principle (LSP)
32
32
9м 57с
2
Закрытый
2.5 Interface Segregation Principle (ISP)
29
27
9м 44с
2
Закрытый
2.6 Dependency Inversion Principle (DIP)
32
32
14м 39с
2
Закрытый
2.7 Заключение
31
31
5м 53с
2

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

10 уроков
Закрытый
3.1 Введение
33
33
2м 43с
2
Закрытый
3.2 Жизнь без строителя
31
31
6м 55с
3
Закрытый
3.3 Строитель
31
31
11м 7с
2
Закрытый
3.4 Строитель с fluent-интерфейсом
28
28
9м 47с
3
Закрытый
3.5 Многогранный строитель
27
27
10м 37с
0
Открытый
3.6 Наследование строителей с помощью рекурсивных дженериков
162
162
11м 55с
0
Закрытый
3.7 Функциональный строитель
24
24
13м 23с
0
Закрытый
3.8 Строитель-параметр
25
25
8м 30с
0
Закрытый
3.9 Задача на программирование паттерна Строитель
26
13
24м 35с
0
Закрытый
3.10 Заключение
20
20
2м 51с
0

4. Фабрики (Factories)

9 уроков
Закрытый
4.1 Введение
23
23
4м 0с
0
Закрытый
4.2 Пример с точкой
24
24
4м 48с
0
Закрытый
4.3 Фабричный метод
23
23
3м 41с
0
Закрытый
4.4 Фабрика
24
24
2м 58с
0
Закрытый
4.5 Вложенная фабрика
23
23
2м 19с
1
Закрытый
4.6 Асинхронные фабрики
23
23
7м 45с
0
Закрытый
4.7 Абстрактная фабрика
24
24
6м 27с
0
Закрытый
4.8 Задача на программирование паттерна Фабрика
19
14
7м 45с
0
Закрытый
4.9 Заключение
17
17
1м 15с
0

5. Прототип (Prototype)

7 уроков
Закрытый
5.1 Введение
18
18
2м 22с
0
Закрытый
5.2 ICloneable — плохая штука
19
19
9м 3с
0
Закрытый
5.3 Копирующий конструктор
17
17
4м 23с
1
Закрытый
5.4 Копирование через сериализацию
17
17
6м 59с
0
Закрытый
5.5 Фабрика прототипов
19
19
7м 47с
0
Закрытый
5.6 Задача на программирование паттерна Прототип
14
11
14м 15с
0
Закрытый
5.7 Заключение
14
14
1м 10с
0

6. Синглтон (Singleton)

8 уроков
Закрытый
6.1 Введение
16
16
4м 3с
0
Закрытый
6.2 Реализуем Singleton
15
15
8м 19с
0
Закрытый
6.3 Проблемы с тестированием
15
15
4м 26с
0
Закрытый
6.4 Синглтон и внедрение зависимостей
15
15
10м 51с
0
Закрытый
6.5 Мультитон
16
16
3м 14с
0
Закрытый
6.6 Monostate
15
15
5м 11с
0
Закрытый
6.7 Задача на программирование паттерна Синглтон
15
10
-
0
Закрытый
6.8 Заключение
14
14
4м 31с
0

7. Адаптер (Adapter)

8 уроков
Закрытый
7.1 Введение
18
18
2м 1с
0
Закрытый
7.2 Сценарий векторной/растровой растеризации
17
17
8м 5с
1
Закрытый
7.3 Кэширование в адаптере
15
15
7м 35с
0
Закрытый
7.4 Суррогат свойств
14
14
5м 15с
0
Закрытый
7.5 Адаптер в контексте внедрения зависимостей
14
14
8м 1с
0
Закрытый
7.6 Адаптер для литералов в дженериках
13
13
15м 12с
0
Закрытый
7.7 Задача на программирование паттерна Адаптер
10
8
-
0
Закрытый
7.8 Заключение
12
12
1м 4с
0

8. Мост (Bridge)

4 урока
Закрытый
8.1 Введение
15
15
2м 10с
0
Закрытый
8.2 Мост
15
15
11м 29с
0
Закрытый
8.3 Задача на программирование паттерна Мост
14
7
-
0
Закрытый
8.4 Заключение
13
13
1м 49с
0

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

6 уроков
Закрытый
9.1 Введение
13
13
2м 48с
1
Закрытый
9.2 Геометрические формы
11
11
7м 19с
0
Закрытый
9.3 Нейросети
10
10
7м 45с
0
Закрытый
9.4 Композитная спецификация
10
10
4м 52с
0
Закрытый
9.5 Задача на программирование паттерна Компоновщик
8
6
-
0
Закрытый
9.6 Заключение
11
11
2м 36с
0

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

8 уроков
Закрытый
10.1 Введение
13
13
3м 37с
0
Закрытый
10.2 Кастомный StringBuilder
12
12
5м 52с
0
Закрытый
10.3 Динамическая композиция декораторов
11
11
8м 24с
0
Закрытый
10.4 Статическая композиция декораторов
11
11
6м 21с
0
Закрытый
10.5 Множественное наследование с интерфейсами
11
11
5м 54с
0
Закрытый
10.6 Адаптер-декоратор
10
10
4м 54с
0
Закрытый
10.7 Задача на программирование паттерна Декоратор
8
6
-
0
Закрытый
10.8 Заключение
9
9
2м 58с
0

11. Фасад (Façade)

4 урока
Закрытый
11.1 Введение
12
12
2м 14с
0
Закрытый
11.2 Фасад
12
12
8м 0с
1
Закрытый
11.3 Задача на программирование паттерна Фасад
10
7
-
0
Закрытый
11.4 Заключение
9
9
1м 19с
0

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

5 уроков
Закрытый
12.1 Введение
10
10
3м 12с
0
Закрытый
12.2 Повторяющиеся имена пользователей
11
11
6м 26с
0
Закрытый
12.3 Форматирование текста
10
10
8м 24с
0
Закрытый
12.4 Задача на программирование паттерна Приспособленец
8
5
-
0
Закрытый
12.5 Заключение
8
8
1м 58с
0

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

10 уроков
Закрытый
13.1 Введение
10
10
2м 10с
0
Закрытый
13.2 Защитный заместитель
9
9
6м 32с
0
Закрытый
13.3 Виртуальный заместитель
9
9
6м 36с
0
Закрытый
13.4 Заместитель доступа к свойству
9
9
9м 18с
0
Закрытый
13.5 Заместитель для значений
8
8
7м 0с
0
Закрытый
13.6 Композитный заместитель и задача SoA/AoS
8
8
8м 53с
0
Закрытый
13.7 Композитный заместитель с полями-массивами
8
8
7м 9с
0
Закрытый
13.8 Динамический заместитель для логирования
8
8
12м 3с
0
Закрытый
13.9 Задача на программирование паттерна Заместитель
7
6
-
0
Закрытый
13.10 Заключение
8
8
1м 35с
0

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

6 уроков
Закрытый
14.1 Введение
12
12
3м 57с
0
Закрытый
14.2 Цепочка методов
12
12
10м 22с
0
Закрытый
14.3 Разделение команд и запросов (CQS)
10
10
1м 10с
0
Закрытый
14.4 Цепочка через брокер
10
10
15м 41с
0
Закрытый
14.5 Задача на программирование паттерна Цепочка обязанностей
9
4
-
0
Закрытый
14.6 Заключение
7
7
1м 5с
0

15. Команда (Command)

6 уроков
Закрытый
15.1 Введение
13
13
2м 47с
0
Закрытый
15.2 Команда
12
12
6м 56с
0
Закрытый
15.3 Операции undo
9
9
5м 6с
0
Закрытый
15.4 Композитная команда
9
9
13м 51с
0
Закрытый
15.5 Задача на программирование паттерна Команда
9
5
-
0
Закрытый
15.6 Заключение
8
8
1м 2с
0

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

5 уроков
Закрытый
16.1 Введение
9
9
3м 47с
0
Закрытый
16.2 Лексический разбор
8
8
7м 13с
0
Закрытый
16.3 Синтаксический разбор
8
8
10м 22с
0
Закрытый
16.4 Задача на программирование паттерна Интерпретатор
7
4
-
0
Закрытый
16.5 Заключение
8
8
1м 58с
0

17. Итератор (Iterator)

6 уроков
Закрытый
17.1 Введение
9
9
1м 16с
0
Закрытый
17.2 Объект — итератор
9
9
9м 7с
0
Закрытый
17.3 Метод итерации
9
9
7м 22с
0
Открытый
17.4 Свойства с полем-массивом
37
37
8м 30с
0
Закрытый
17.5 Задача на программирование паттерна Итератор
7
5
-
0
Закрытый
17.6 Заключение
8
8
2м 31с
0

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

7 уроков
Закрытый
18.1 Введение
10
10
3м 46с
0
Закрытый
18.2 Групповой чат
9
9
9м 13с
0
Закрытый
18.3 Посредник с событиями
9
9
8м 54с
0
Закрытый
18.4 Брокер событий с Reactive Extensions
8
8
16м 24с
0
Закрытый
18.5 Введение в MediatR
9
7
8м 45с
0
Закрытый
18.6 Задача на программирование паттерна Посредник
7
4
-
0
Закрытый
18.7 Заключение
7
7
2м 48с
0

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

5 уроков
Закрытый
19.1 Введение
9
9
2м 7с
0
Закрытый
19.2 Хранитель
9
9
6м 57с
0
Закрытый
19.3 Undo и redo
9
9
8м 33с
0
Закрытый
19.4 Задача на программирование паттерна Хранитель
8
4
-
0
Закрытый
19.5 Заключение
9
9
1м 0с
0

20. Null Object

5 уроков
Закрытый
20.1 Введение
9
9
2м 46с
0
Закрытый
20.2 Null object
9
9
6м 30с
0
Закрытый
20.3 Динамический null object
9
9
5м 35с
0
Закрытый
20.4 Задача на программирование паттерна Null Object
7
5
-
0
Закрытый
20.5 Заключение
9
9
1м 5с
0

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

10 уроков
Закрытый
21.1 Введение
11
11
2м 11с
0
Закрытый
21.2 Ключевое слово event
9
9
6м 3с
0
Закрытый
21.3 Паттерн слабых событий (Weak Event Pattern)
8
8
8м 20с
0
Закрытый
21.4 Наблюдатель через специальные интерфейсы
8
8
13м 56с
0
Закрытый
21.5 Наблюдаемые свойства и коллекции
8
8
8м 51с
0
Закрытый
21.6 Зависимости между свойствами
7
7
17м 53с
0
Закрытый
21.7 Двунаправленный наблюдатель
7
7
12м 57с
0
Закрытый
21.8 Декларативные подписки на события
8
8
8м 11с
0
Закрытый
21.9 Задача на программирование паттерна Наблюдатель
6
3
-
0
Закрытый
21.10 Заключение
6
6
2м 56с
0

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

7 уроков
Закрытый
22.1 Введение
9
9
2м 52с
0
Закрытый
22.2 Классическая реализация
9
9
8м 30с
0
Закрытый
22.3 Делаем конечный автомат вручную
9
9
9м 4с
0
Закрытый
22.4 Конечный автомат на switch-ах
9
9
7м 59с
0
Закрытый
22.5 Конечный автомат через Stateless
7
7
5м 19с
0
Закрытый
22.6 Задача на программирование паттерна Состояние
7
3
-
0
Закрытый
22.7 Заключение
8
8
1м 24с
0

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

6 уроков
Закрытый
23.1 Введение
10
10
2м 39с
0
Закрытый
23.2 Динамическая стратегия
11
11
8м 56с
0
Закрытый
23.3 Статическая стратегия
10
10
3м 42с
0
Закрытый
23.4 Стратегии сравнения
10
10
8м 59с
0
Закрытый
23.5 Задача на программирование паттерна Стратегия
5
4
-
0
Закрытый
23.6 Заключение
7
7
1м 36с
0

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

5 уроков
Закрытый
24.1 Введение
9
9
2м 38с
0
Закрытый
24.2 Шаблонный метод
9
9
7м 58с
0
Закрытый
24.3 Функциональный шаблонный метод
8
8
5м 13с
0
Закрытый
24.4 Задача на программирование паттерна Шаблонный метод
7
4
-
0
Закрытый
24.5 Заключение
7
7
1м 46с
0

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

9 уроков
Закрытый
25.1 Введение
7
7
2м 44с
0
Закрытый
25.2 Интрузивный посетитель
7
7
6м 18с
0
Закрытый
25.3 Рефлективный посетитель
6
6
7м 21с
0
Закрытый
25.4 Строитель посетителей
3
3
20м 16с
0
Закрытый
25.5 Классический посетитель (Double Dispatch)
6
6
10м 23с
0
Закрытый
25.6 Динамический посетитель через DLR
6
6
5м 33с
0
Закрытый
25.7 Посетитель без циклов (Acyclic Visitor)
6
6
8м 51с
0
Закрытый
25.8 Задача на программирование паттерна Посетитель
7
3
-
0
Закрытый
25.9 Заключение
7
7
1м 13с
0

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

1 урок
Закрытый
26.1 Заключение
7
3
12м 27с
1