О курсе
Курс даёт всеобъемлющий обзор паттернов (шаблонов) проектирования на Python на практике. Этот курс покрывает шаблоны посредством:
- использования самой новой версии Python
- использования современных подходов программирования: инъекции зависимостей, реактивное программирование и т.д.
- использования современных средств разработки таких как PyCharm
- дискуссий различных вариаций паттернов и различных подходов
На этом курсе мы рассмотрим все шаблоны проектирования из книги "банды четырёх", а также их различные современные вариации с поправками и использованием особенностей языка Python.
Что такое паттерны проектирования?
Паттерны проектирования - это типовые решения типовых задач. Впервые были введены в оборот в 1994 году с выходом книги Design Patterns: Elements of Reusable Object-Oriented Software за авторством Erich Gamma, John Vlissides, Ralph Johnson and Richard Helm (которых часто именуют бандой четырёх).
Оригинальная книга была написана с использованием C++ и Smalltalk, но с тех пор паттерны проектирования были адаптированы ко всем известным языкам программирования: C#, Java, Python и даже к тем ЯП, которые, строго говоря, не являются объектно-ориентированными, такими как Java Script.
На самом деле, мы видим шаблоны проектирования повсюду: в любых библиотеках, видим их встроенными в сами языки программирования. Так что вы даже не всегда осознаёте, что ими пользуетесь.
Какие паттерны разобраны на курсе?
Курс покрывает все паттерны проектирования из книги банды четырёх. Вот полный список тем:
- Принципы проектирования SOLID: принцип единственной ответственности (SRP), принцип открытости / закрытости (OCP), принцип подстановки Лисков (LSP), принцип разделения интерфейсов (ISP), принцип инверсии зависимостей (DIP)
- Паттерны порождения: строитель, фабрики, прототип, одиночка
- Структурные паттерны: адаптер, мост, компоновщик, декоратор, фасад, приспособленец, прокси
- Поведенческие паттерны: цепочка зависимости, команда, интерпретатор, итератор, медиатор, хранитель, наблюдатель, состояние, стратегия, шаблонный метод, посетитель
Для кого этот курс?
Это - курс для опытных (как минимум очень хорошо знакомых с Python) разработчиков, которые хотят познакомиться с современными вариантами реализации паттернов (а не только книжными устаревшими).
Стиль презентации курса
Этот курс подаётся как большие видео-серии кодинг-демо в PyCharm отрендеренные с помощью движка Kinetica. Kinetica убирает визуальную загромождённость редактора, фокусируя вас на коде. Большинство демок соотносятся с единственным файлом исходного кода, так что вы можете его скачать и тут же запустить в PyCharm, IDLE или где угодно.
В этом курсе нет UML-диаграмм. Все демки - живое программирование.
Для кого этот курс
- Продвинутые студенты с курсов по питону - Python-разработчики, которые хотят изучить паттерны проектирования
Начальные требования
- хорошие знания в Python