Принципы SOLID / С Примерами На Python

Поделиться
HTML-код
  • Опубликовано: 22 май 2024
  • Наверное, каждый программист хоть раз слышал про SOLID. SOLID - это набор правил/практик/советов, к которым на опыте пришли разработчики. Это помогает писать сложные проекты, чтобы они оставались логичными, понятными, читаемыми, расширяемыми их можно было сопровождать. Каждая буква здесь обозначает один принцип написания кода. Например, S - Single Responsibility, O- Open Closed и т.д. Очень часто про SOLID спрашивают на собеседованиях и большинство начинающих разработчиков на этом здорово сыпятся. Поэтому сегодня мы разберём каждый из 5 принципов SOLID, подумает действительно ли они так важны и закрепим полученные знания примерами кода на Python.
    💸 Хочешь поддержать канал: qiwi.com/n/PYLOUNGE (Никнейм QIWI Кошелька - PYLOUNGE)
    💰 Donation Alerts:
    www.donationalerts.com/r/pylo...
    📒 Материалы из видео:
    ✅ Примеры кода: gist.github.com/novikov-nsa/0...
    ✅ Канал @S0ERDEVS : / @s0erdevs
    ✅ Ролик Специальный гость PyLounge: • Специальный гость PyLo...
    🚀 Социальные сети:
    ✅ Telegram: t.me/pylounge
    ✅ Группа ВКонтакте: pylounge
    ✅ Канал PyLounge:
    / @pylounge
    ✅ Twitter: / pylounge
    ✅ Instagram*: / py_lounge
    ✅ По вопросам сотрудничества и предложений: peoplesdreamer@gmail.ru
    ✅ Music: Swingin’ by Purrple Cat | purrplecat.com
    Music promoted by www.free-stock-music.com
    Creative Commons / Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
    creativecommons.org/licenses/...
    👨‍🏫 Привет! Меня зовут Макс. Я один из авторов канала PyLounge. Уже долго занимаюсь программированием, в частности программирование на языке Python. Я много чего узнал за это время, и мне есть, чем поделиться со зрителями моего канала. Здесь выходят разнообразные ролики, касающиеся IT-тематики и программирования, которые я делаю в соавторстве с Егором (лучшим голосом России). Подписывайся, будем узнавать что-то новое и работать вместе! Погнали!
    🕰️ Таймкоды:
    00:00 - Вступление
    01:12 - SRP
    02:44 - OCP
    04:10 - LSP
    05:52 - ISP
    07:05 - DIP
    09:40 - Заключение
    12:03 - Концовка
    *Компания Meta - организация, деятельность которой запрещена на территории Российской Федерации
    #pylounge #solid #python #ityoutubers #itubeteam

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

  • @pylounge
    @pylounge  Год назад +4

    Используете ли вы принципы SOLID в своей практике?)

    • @user-hm4tl3hy4u
      @user-hm4tl3hy4u Год назад

      Максим, планируете ли Вы снять цикл видео о паттернах проектирования на Pyfhon?

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

      @@user-hm4tl3hy4u Да, были мысли про паттерны и архитектуру

    • @user-hm4tl3hy4u
      @user-hm4tl3hy4u Год назад

      @@pylounge Супер, Максим, я думаю многие ждут и всем понравится!

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

      Использую, часто даже не подозревая о том, что этот подход называется именно так.

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

    Лучшее объяснение (с точки зрения понятности для новичка). Больше спасибо!

  • @0limjon
    @0limjon Год назад +1

    Хорошее объяснение! Спасибо за ролик ждем похожий контент

  • @t0digital
    @t0digital Год назад +13

    По SRP Мартин в Чистой архитектуре решил дать другое определение, через акторы, что у программной сущности должен быть один актор. То есть класс не нарушает SRP даже если он имеет больше одной ответственности, главное чтобы актор, то есть сценарий использования, был один, чтобы правки, необходимые для одного сценария использования, не затронули логику второго сценария использования

    • @pylounge
      @pylounge  Год назад +6

      Да, под акторами, как мне помнится, он подразумевал "группу пользователей по интересам" : клиент, заказчик, администратор и т.д. Но мне кажется, такое объяснение несколько затруднительно для новичков, поэтому выбрал в качестве определения что-то среднее)

  • @user-hm4tl3hy4u
    @user-hm4tl3hy4u Год назад +1

    @pylounge Максим, я очень ждал такое видео!

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

    Интересно, сними про другие наборы принципов!

  • @kitN
    @kitN Месяц назад

    Увидел снейка на превью, зашел поставить лойс

  • @user-po2wh2pe5z
    @user-po2wh2pe5z Год назад +2

    Спасибо полезное видио.

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

    Спасибо, полезно. В примере LSP engine - это метод, а не свойство, что несколько странно.

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

    насчет единственной ответственности, как я помню там не обязательно именно по классах разбивать ответственность, это больше по функциям. чтобы ни 1 функция не выполняла сразу несколько действий. так что пример с классом еще валидный

  • @Diabolic9595
    @Diabolic9595 Год назад +3

    Лайк за превью)

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

    👏👍

  • @user-bt7jp2wx9h
    @user-bt7jp2wx9h 12 дней назад

    Как-то интуитивно сам дошел до этого при написании кода

  • @Anonim-im6ln
    @Anonim-im6ln Год назад +1

    👍👍👍👍

  • @bool1989
    @bool1989 6 месяцев назад

    Все неплохо, но тема ISP не раскрыта, более наглядный пример был бы с декоратором, например, когда есть интефейс с 3 методами и 3 интерфейса по одному, при соблюдении isp можно будет задекорировать любой метод отдельно, при нарушении придется в декораторе проксировать вызов

  • @antonkuznetsov1348
    @antonkuznetsov1348 4 месяца назад

    ну с дудем - эт, конечно, очень смешно было )))))

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

    го про абстракцию

  • @BeginBye
    @BeginBye 10 месяцев назад +4

    Лисков что?))) сабситуэйшн?))))

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

    2:22 😆

  • @user-zb1px6kh3k
    @user-zb1px6kh3k 4 месяца назад

    Ничего не понятно (

  • @user-bt1zh1dl2u
    @user-bt1zh1dl2u День назад

    Чел, у тебя ошибки уже в 1 принципе. Которую сам Мартин в книге у себя приводит как пример того что много путаницы вокруг этих принципов. Вот и ты попался в эту уловку. Почитай Чистую архитектуру что ли

  • @us1k10
    @us1k10 3 месяца назад +1

    прежде чем видео снимать, хотя бы тему изучи... боже...

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

      в принципе открытости-закрытости ты создаешь наследника с такой же функцией, нарушая тем самым принцип Лисков. Дальше смотреть не стал эту чушь.