Шаблоны проектирования на Python

Научитесь применять паттерны проектирования на Python

4.35 (147 reviews)
Udemy
platform
Русский
language
Programming Languages
category
Шаблоны проектирования на Python
1,101
students
9 hours
content
Nov 2021
last update
$59.99
regular price

What you will learn

Распознавать и применять паттерны

Оценивать применимость того или иного паттерна в конкретной ситуации

Проводить рефакторинг существующего кода с привнесением паттернов

Изучите все паттерны из списка GoF

Why take this course?

Курс даёт всеобъемлющий обзор паттернов (шаблонов) проектирования на 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-диаграмм. Все демки - живое программирование.

Screenshots

Шаблоны проектирования на Python - Screenshot_01Шаблоны проектирования на Python - Screenshot_02Шаблоны проектирования на Python - Screenshot_03Шаблоны проектирования на Python - Screenshot_04

Reviews

Anna
February 13, 2023
Не дается дополнительная литература, за исключением книги Банды четырех, где можно было бы уточнить непонятные моменты или найти еще примеры. Реализация не объясняется, а тесты не учитывают другую реализацию. Тем не менее задачи и свойства паттернов разложены по полочкам, но хотелось бы видеть их в реальных проектах, хоть на гите) Общее впечатление от курса положительное и задания очень интересные, так что спасибо огромное, автор, ваша работа очень полезная))
Viacheslav
January 13, 2023
1. озвучка диктором трудно воспринимается - периодически он вылетает в рассинхрон с видеорядом (особенно остро ощущается на видео 67 ) 2. в примерах кода периодически используются антипаттерны, плюс в примерах применяются ну крайне спорные вещи (например, eval) 3. хотелось бы большего объяснения мысли автора при написании кода, т.к. некоторые решения не кажутся очевидными, или кажутся спорными. Но уровень понимания паттернов ООП у автора несомненно высок. Спасибо за выжимку знаний.
Stanislav
December 28, 2022
Хороший стартовый курс для изучения шаблонов проектирования, информация сильно сжата, без воды, явно не для самых новичков. Потребуется дополнительное обучение после прохождения курса.
Антон
July 16, 2022
С точки зрения изучения паттернов очень интересно и познавательно. Но видно, что автор не специализируется на питоне. Поэтому не всегда предлагает лучшие практики для питона и не использует весь его инструментарий.
Alexander
June 1, 2022
Я хочу нормальные задания, а не разбираться больше в задании, что от меня хотят, чем решать его. Что за гигансткий зум кода? 10 строк видно, остальной код не виден... Как понять что ниже и выше?
Vk
March 25, 2022
Непонятно почему в реализации одних паттернов допускается использование антипаттернов и плохого кода. Иногда автор упоминает, что так делать не стоит, но иногда это просто проходит, как будто "так и надо". Да и масштаб примеров оставляет желать лучшего - я ожидал более приближенных к реальности задач
Anton
December 19, 2021
Может конечно позже изменю оценку, но это классно: -"Чтобы долго не писать код, я просто вставлю этот кусок кода " - и сами разбирайтесь....
Kunevich
November 9, 2021
Потрясающий курс, очень понятно изложены мысли и примеры по шаблонам проектирования. Большое спасибо авторам, за данный хорошо изложенный материал.
Igor
October 28, 2021
К сожалению на Юдеми не так много курсов по ООП python на русском (да и на английском тоже), а те что есть дают только поверхностные знания. Так что пока вне конкуренции.

Charts

Price

Шаблоны проектирования на Python - Price chart

Rating

Шаблоны проектирования на Python - Ratings chart

Enrollment distribution

Шаблоны проектирования на Python - Distribution chart
4351346
udemy ID
10/15/2021
course created date
10/29/2021
course indexed date
Bot
course submited by