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

Поделиться
HTML-код
  • Опубликовано: 18 ноя 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
    - используйте купон RUclips чтобы получить скидку ~ 35%
    Канал Дмитрия Нестерука на RUclips: / @soloondotnet
    Видео курсы Дмитрия на Udemy: www.udemy.com/user/dmitrinest...
    Курсы от EngineerSpock: www.engineerspock.com/offer-y...
    #it #программирование #айти #ityoutubersru #engineerspock #программирование #программист #разработка

Комментарии • 29

  • @nickthomson450
    @nickthomson450 2 года назад +27

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

  • @usercommon1
    @usercommon1 2 года назад +2

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

  • @karasik5695
    @karasik5695 2 года назад +3

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

  • @Deyzze
    @Deyzze 2 года назад +1

    Спасибо)

  • @serdtsev
    @serdtsev Год назад +2

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

  • @pixel7139
    @pixel7139 2 года назад

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

  • @aleksanderm1947
    @aleksanderm1947 10 месяцев назад +2

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

  • @gsm7490
    @gsm7490 3 месяца назад

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

  • @bolatmukashev2830
    @bolatmukashev2830 Год назад +1

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

  • @kirillkorobkin
    @kirillkorobkin Год назад

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

    • @jktg1980
      @jktg1980 11 месяцев назад +1

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

  • @im_not_tequila
    @im_not_tequila 2 года назад +4

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

  • @user-mg8yq4xp1v
    @user-mg8yq4xp1v 8 месяцев назад +1

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

  • @obehobeh9984
    @obehobeh9984 2 года назад

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

    • @EngineerSpock
      @EngineerSpock  2 года назад +1

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

    • @obehobeh9984
      @obehobeh9984 2 года назад

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

    • @EngineerSpock
      @EngineerSpock  2 года назад

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

    • @obehobeh9984
      @obehobeh9984 2 года назад

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

    • @EngineerSpock
      @EngineerSpock  2 года назад

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

  • @romanyshyn6311
    @romanyshyn6311 Год назад

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

    • @jktg1980
      @jktg1980 11 месяцев назад

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

  • @vlatterran
    @vlatterran 2 года назад

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

    • @EngineerSpock
      @EngineerSpock  2 года назад

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

  • @snap-313
    @snap-313 Год назад +7

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

    • @serg888fert4
      @serg888fert4 10 месяцев назад

      весьма спорно