Паттерны проектирования на Python: Паттерн Прототип

Sdílet
Vložit
  • čas přidán 18. 11. 2021
  • Подписка на Boosty: boosty.to/engineerspock Донаты на развитие: pay.cloudtips.ru/p/1f080f72 Курсы от EngineerSpock: www.engineerspock.com/offer-y...
    Это серия роликов из курса по Паттернам (шаблонам) проектирования на Python за авторством Дмитрия Нестерука. EngineerSpock визировал перевод и озвучку. Как получилось - судить вам.
    Паттерны проектирования (design patterns), так же известные как шаблоны проектирования или GoF паттерны. GoF расшифровывается как Gang of Four (банда четырёх) - четвёрка, написавшая известную книгу по паттернам проектирования («Приёмы объектно-ориентированного проектирования. Паттерны проектирования») в далёком 1994 году. Авторы: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес.
    Примеры в той книге были написаны на С++ и Smalltalk.
    Шаблон проектирования - выработанный универсальный подход для решения определённой часто возникающей проблемы. Грамотное применение паттернов проектирования - часть философии чистого кода.
    Выделяют 3 категории шаблонов проектирования:
    - порождающие
    Builder - строитель / построитель, Factory Method - фабричный метод, Abstract Factory - абстрактная фабрика, Prototype - прототип, Singleton - одиночка
    - структурные - адаптер, мост, компоновщик, декоратор, фасад, приспособленец, заместитель
    - поведенческие: этих дофига и больше)
    В этом видео мы поговорим именно о шаблоне Прототип (Factory Method Design Pattern), который позволяет реализовать политику репликации объекта.
    Купить полный курс "Паттерны проектирования на Python" можно на платформе Stepik:
    stepik.org/z/103603
    - используйте купон CZcams чтобы получить скидку ~ 35%
    Канал Дмитрия Нестерука на CZcams: / @soloondotnet
    Видео курсы Дмитрия на Udemy: www.udemy.com/user/dmitrinest...
    Курсы от EngineerSpock: www.engineerspock.com/offer-y...
    #it #программирование #айти #ityoutubersru #engineerspock #программирование #программист #разработка

Komentáře • 29

  • @nickthomson450
    @nickthomson450 Před 2 lety +29

    Диктора на центральное питоновское телевидение,пожалуйста!

  • @usercommon1
    @usercommon1 Před 2 lety +2

    информативненько, спасибо.

  • @karasik5695
    @karasik5695 Před 2 lety +3

    Спасибо, было интересно!

  • @gsm7490
    @gsm7490 Před 5 měsíci +1

    Отличный материал, но отдельно, озвучка на сверх уровне!

  • @Deyzze
    @Deyzze Před 2 lety +1

    Спасибо)

  • @user-mg8yq4xp1v
    @user-mg8yq4xp1v Před 10 měsíci +2

    а где паттерн -то ? просто объяснение работы deepcopy ...

  • @serdtsev
    @serdtsev Před rokem +2

    Я ожидал в конце добавления классметода copy_with в класс Person

  • @aleksanderm1947
    @aleksanderm1947 Před rokem +2

    Ок, а паттерн в чем? использование deepcopy?

  • @pixel7139
    @pixel7139 Před 2 lety

    реализация паттерна прототип находится во встроенной библиотеке copy в функции deepcopy выходит?
    или для класса нужно будет всё же магические методы, но в данном примере в этом нет необходимости?

  • @bolatmukashev2830
    @bolatmukashev2830 Před 2 lety +1

    а можно copy.deepcopy как то вшить в сам класс?

  • @kirillkorobkin
    @kirillkorobkin Před rokem

    Спасибо! Посоветуйте пожалуйста по паттернам питона книгу... "Паттерны разработки на Python" Гарри Персивалля, на русском норм? Или что-то другое...

    • @jktg1980
      @jktg1980 Před rokem +1

      Design Patterns банда четырех для начала. Паттерны не привязаны к конкретному языку, хотя реализации порой отличаются

  • @im_not_tequila
    @im_not_tequila Před 2 lety +4

    я не очень силен в программировании, но думаю с адресами так происходит, потому что Джон и Джейн не могут жить друг без друга💔

  • @romanyshyn6311
    @romanyshyn6311 Před rokem

    А что если у обьекта который копируем приватные атрибуты ? тогда не получится так сделать

    • @jktg1980
      @jktg1980 Před rokem

      В питоне нет приватных аттрибутов

  • @obehobeh9984
    @obehobeh9984 Před 2 lety

    Очень интересное и подробное описание поведения. Респект.
    Но я все больше понимаю, что для питона очень важно знание не только, так сказать, базового синтаксиса, а еще огромное количество функций, шаблонов(или шаблонизаторов?), библиотек и прочих наворотов и конструкций. А это все не так просто, как заявляют "питонисты", рекламируя этот язык, как очень простой.

    • @EngineerSpock
      @EngineerSpock  Před 2 lety +1

      Ну это так везде. При прочих равных, питон действительно гораздо проще всех остальных ходовых яп.

    • @obehobeh9984
      @obehobeh9984 Před 2 lety

      @@EngineerSpock И на кой ляд принудительные отступы придуманы? По моему, это излишество, которое тоже не очень удобное.

    • @EngineerSpock
      @EngineerSpock  Před 2 lety

      @@obehobeh9984 а как без отступов? Скобки ставить? Есть множество языков с отступами. Или вы о чём-то другом?

    • @obehobeh9984
      @obehobeh9984 Před 2 lety

      @@EngineerSpock Принудительные отступы в коде я встречал только в питоне. Это, можно сказать, уже синтаксис питона. Зачем?

    • @EngineerSpock
      @EngineerSpock  Před 2 lety

      @@obehobeh9984 вы чего вместо них хотите? Без отступов?)

  • @vlatterran
    @vlatterran Před 2 lety

    Я не понял некоторых вещей:
    Почему глубокая копия круче чем инстанирование (наверное в том что это позволяет не проверять на корректность аргументы, когда уже есть объект с похожими параметрами)
    Почему глубокая копия имеет такое пафосное название "шаблон проектирования прототип"
    Я ещё понимаю наблюдатель, там действительно есть какая-то логика в том чтобы называть это "шаблон проектирования", а тут в чём прикол?

    • @EngineerSpock
      @EngineerSpock  Před 2 lety

      Шаблон проектирования не подразумевает сам по себе какой-то зубодробительности. Вам кажется, что наблюдатель достоин называться шаблоном, лишь потому что в питоне нет встроенных ивентов как в сишарпе) то есть сишарпер с таким же посылом может заявить в чем прикол наблюдателя называть шаблоном, если это всего лишь механизм ивентов?

  • @snap-313
    @snap-313 Před rokem +7

    Все проблемы из-за баб