Изучаем Python. Урок 4. Интерфейсы и Паттерны

preview_player
Показать описание
В этом видео мы посмотрим на реализацию интерфейсов в питоне и разберемся с несколькими паттернами: Builder (Билдер), FabricMethod (ФабричныйМетод), TemplateMethod (Шаблонный Метод), Chain of Responsibility (Цепочка Обязанностей) и Command (Команда).
Это не обычные лекции, коих тысячи, здесь мы рассматриваем только некоторые аспекты питона и программирования, самые сочные на мой взгляд.
Паттерны будут в следующем видео, обещаю :-)

Поддержи выход новых видео на Патреоне!

Другие видео:

0:00 Intro
0:11 Interfaces
7:14 Patterns
8:55 Pattern: Builder
13:15 Chain of Responsibility
29:24 Patterns: FabricMethod and TemplateMethod
32:43 Pattern: TemplateMethod
37:15 Pattern: Command
48:45 Outro

#python #урок #tutorial #lesson #питон #development #howto #learnbasics #coding #programming #изучаемIT #микросервисы #программирование #разработка
Рекомендации по теме
Комментарии
Автор

Очень грамотное и понятное объяснение, ждём ещё подобного рода обучающего видео)

execution
Автор

спасибо большое за видео! сохранил себе.

несколько вопросов...
по билдеру: почему не classmethod?
по цепочке зависимостей: не знал про него, спасибо большое. сразу вопрос: почему в AbstractLoadHandler метод handle помечен как абстрактный? он же должен идти как базовый, потому как реализовывает логику, которую далее не нужно переопределять. собственно, по названию класса у меня тоже вопрос. Base же, а не Abstract, нет?

delay_gryaz_chisto
Автор

Добрый день! Я повторяю шаги в видео за Вами. Набрала код как Вы, но почему-то выдает ошибку "name 'Computer' is not defined". Не понимаю почему, подскажите пожалуйста. Вот код:

class Computer:
__cpu = None
__ram = None
__mouse = None
__keyboard = None
__monitor = None
__box = None

def cpu(self, cpu: str):
self.__cpu = __cpu
return self
def ram(self, ram: str):
self.__ram = __ram
return self
def mouse(self, mouse: str):
self.__mouse = __mouse
return self
def keyboard(self, keyboard: str):
self.__keyboard = __keyboard
return self
def monitor(self, monitor: str):
self.__monitor = __monitor
return self
def box(self, box: str):
self.__box = __box
return self

@staticmethod
def build_gaming_computer():
return

@staticmethod
def build_office_computer():
return


if __name__ == "__main__":
c =
c1 = c.build_gaming_computer()
c2 = c.build_office_computer()
print(c)
print(c1)
print(c2)

student
Автор

Как напечатать значек не равно как перечеркнутое равно?

andreybelyaev
Автор

Про интерфейсы хорошо началось, но закончилось как-то скомкано и в спешке. Нужно ли добавлять методы в Controller?

def create_user(self):

def get_user(self):
self.user_service.get_user()
def del_user(self):


Что дальше, после создания объекта "c" класса Controller?
c.get_user()
c.create_user()

и т.п. Тема не раскрыта полностью.

goodevening
Автор

Ё-моё, что с микрофоном? Автор маячит между одним ухом и другим, отвлекает

AnnaIsHere