Паттерн Singleton (Одиночка) в Python

  Рет қаралды 10,727

Python Russian

Python Russian

Жыл бұрын

Singleton (Одиночка) - это шаблон предоставления глобального доступа к состоянию, гарантируется, что объект всегда будет один и тот же.
Нужен для одной точки доступа к ресурсам/данным и для того чтобы ресурсоемкие задачи сделать 1 раз
Monostate - это шаблон предоставления глобального доступа к состоянию, объекты при этом могут быть разными.
+ плюсы: 1 раз выполняем тяжелые задачи, имеем 1 вход для всей системы
- минусы: общесистемная глобальная переменная
Модуль в python -это синглтон! Потому нам никуда от них не деться, даже если считать синглтон анти-паттерном
👉Декоратор с параметрами • Декоратор с параметрами
👍Первый декоратор, разбираемся с написанием • Первый декоратор, разб...
Читать: www.oreilly.com/library/view/...
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
#Python #PythonRussian #PyCharm

Пікірлер: 39
@PythonRussian
@PythonRussian Жыл бұрын
Друзья, 60% моих зрителей не подписаны на канал, не жалейте 1 клика для продолжения съемок контента. Это вам ничего не стоит, а мне приятно. Спасибо!
@SoloveY1990
@SoloveY1990 Жыл бұрын
Все подписывайтесь! Нам очень нужно продолжение контента! 😊
@Anton16180
@Anton16180 Жыл бұрын
Поддерживаю. Видео про декораторы мне очень помогло в свое время
@IlyaIlya_lopkop
@IlyaIlya_lopkop Ай бұрын
Прошу продолжать делать видео по паттернам!
@Smnov
@Smnov Жыл бұрын
Паттерны, пошла жара. Максимальная поддержка автору
@MRaynold
@MRaynold 20 күн бұрын
Сразу вспомнил момент, когда (в детстве) нечаянно наступил на швабру. Как же мне пере#б@ло тогда по лбу... Ай-яй-яй-яй-яй. 😅😂
@theserkot
@theserkot 11 ай бұрын
Очень метко замечено про засыпание на 5й странице книги Банды Четырёх, и про то, что для реального усвоения нужна проблема... 100% совпадает с личным опытом ;)
@exfell320
@exfell320 Жыл бұрын
Только начал изучить различные паттерны и тут этот замечательный ролик. Спасибо за ваши труды!
@y18kotov
@y18kotov Жыл бұрын
Отличная работа. Большое спасибо!
@Filinius1
@Filinius1 Жыл бұрын
Гениально!! Спасибо большое за материал. Очень доходчиво и понятно.
@altf4_so
@altf4_so Жыл бұрын
Благодарю ты действительно лучший !!
@doxyvan6770
@doxyvan6770 11 ай бұрын
Для подготовки к сессии самое то, спасибо вам за проделанный труд!!!
@golokwen7622
@golokwen7622 Жыл бұрын
Обожаю тебя! Стал спонсором! Не прекращай делать видео, пожалуйста
@PythonRussian
@PythonRussian Жыл бұрын
спасибо =) я и не собираюсь прекращать, единственное - часто делать не могу, занятость. А тем в питоне, о которых хотелось бы рассказать - очень много, постоянно приходится выбирать.
@Vladimir-bz9tg
@Vladimir-bz9tg Жыл бұрын
Спасибо Вам большое, очень полезно, информативно и понятно
@user-it3yo1sn6i
@user-it3yo1sn6i Жыл бұрын
Спасибо, смотрю ваши ролики с удовольствием. Все понятно и без лишней воды. Про синглтон знал, а вот про моностейт как-то до этого проходило мимо. Хотя идея реализации проста и по своему гениальна
@PythonRussian
@PythonRussian Жыл бұрын
да, моностейт это по сути взгляд на проблему с другой стороны, что порой бывает полезно
@GorArakelyan-no7mx
@GorArakelyan-no7mx Жыл бұрын
как всегда самый лучший
@nicksem8459
@nicksem8459 5 ай бұрын
Круто Спасибо!
@vedroidek
@vedroidek Жыл бұрын
День добрый! Давно искал подобный подход, который ровно ложится в голове. Спасибо Вам огромное! P.S. в надежде выйти на такой же уровень проектирования и программирования.
@PythonRussian
@PythonRussian Жыл бұрын
выйдешь, не сомневайся, если поставить цель и регулярно заниматься. И не думать, что можно в одночасье все получить, посмотреть курс и готово. Это все с опытом, то есть с определенным потраченным временем придет.
@vedroidek
@vedroidek Жыл бұрын
@@PythonRussian будут ли видео по асинхронности и многопоточности?
@PythonRussian
@PythonRussian Жыл бұрын
@@vedroidek думаю можно как минимум обзорное про GILи потоки, а асинк отдельно
@vedroidek
@vedroidek Жыл бұрын
@@PythonRussian GIL в теории будет или разбор на плюсах? )))
@vitalii_myt
@vitalii_myt Жыл бұрын
Спасибо. Хорошие объяснения. Давайте еще про паттерны! Singletone.instance ведь можно заменить cls.instance ?
@PythonRussian
@PythonRussian Жыл бұрын
заменить можно. Про паттерны не так просто снимать, потому что надо демонстрировать реальную проблему, понятную пользователям.
@parpermeter
@parpermeter Жыл бұрын
к хорошему качественному видео по программированию на языке python хочется писать хорошие комментарии)
@PythonRussian
@PythonRussian Жыл бұрын
не сдерживай себя)
@kristinam2480
@kristinam2480 9 ай бұрын
Не поняла смысл этого хака с переопределением словаря с атрибутами экземпляра. Во первых там много всего нужного лежит обычно, поэтому уж лучше тогда обновлять дикт. А второе если есть данные в переменной класса, зачем эту переменную тянуть еще и в экземпляр, у экземпляра и так есть доступ к переменной класса. А в целом спасибо и успехов.
@PureLeach
@PureLeach Жыл бұрын
Немного не понял в каких случаях лучше воспользоваться Monostate вместо Singleton. По идеи Singleton лучше тем, что он не будет занимать дополнительную память, в отличие от Monostate. А в чём тогда преимущество Monostate кроме того, что его легче написать?
@PythonRussian
@PythonRussian Жыл бұрын
я скорее хотел показать, что существует второй взгляд на проблему. Да, синглтон всего 1 и значит не займет память, но и моностейт, поскольку разделяет одно и то же состояние займет лишь немногим больше. Алекс Мартелли указывал на то, что мы акцентируемся на том, что неважно, а именно на том чтобы был 1 объект, хотя по идее нам не это критично, а только состояние. Но конечно в проде лучше писать Синглтон, а не Моностейт, в силу того, что просто команда не поймет, ибо первый знают все, а второй во всей команде будешь знать только ты =)
@PureLeach
@PureLeach Жыл бұрын
@@PythonRussian Спасибо за ответ! Буду ждать другие видео про паттерны в python. Тема очень интересная.
@_radja
@_radja Жыл бұрын
А почему в классе Singleton, в методе __new__(), используется именно имя класса, а не ссылка на него в cls? В этом есть какой-то смысл или просто так?
@PythonRussian
@PythonRussian Жыл бұрын
в этом есть смысл, попробуй понять в чем разница
@_radja
@_radja Жыл бұрын
@@PythonRussian насколько я понимаю, есть разница для наследования. В случае использования явной ссылки на Singleton, все сабклассы будут одним объектом, на которой указывает instance. Потому что мы обращались к конкретному классу, а cls это именно текущий класс. Но я не понимаю зачем это надо. Кажется если мы наследуемся от Singleton-а, то каждый из наследников должен быть самостоятельным классом с соответствующим паттерном. Или я что-то упускаю и не понимаю?
@mushroomhead4396
@mushroomhead4396 Жыл бұрын
😙
@user-mg8yq4xp1v
@user-mg8yq4xp1v 8 ай бұрын
Monostate или Borg?
@PythonRussian
@PythonRussian 8 ай бұрын
первое
@user-mg8yq4xp1v
@user-mg8yq4xp1v 8 ай бұрын
@@PythonRussian между ними есть какая-то разница? Потому что мне показалось, что это название для одного и того же.
ООП: Инкапсуляция в python
51:12
Python Russian
Рет қаралды 12 М.
Основы многопоточности в Python
58:46
Python Russian
Рет қаралды 4,1 М.
Normal vs Smokers !! 😱😱😱
00:12
Tibo InShape
Рет қаралды 114 МЛН
Ну Лилит))) прода в онк: завидные котики
00:51
Don’t take steroids ! 🙏🙏
00:16
Tibo InShape
Рет қаралды 74 МЛН
Dynamic #gadgets for math genius! #maths
00:29
FLIP FLOP Hacks
Рет қаралды 17 МЛН
Главная тайна IT, язык Smalltalk
18:50
Python Russian
Рет қаралды 3,2 М.
Замыкания (Closures) в Python
30:54
Python Russian
Рет қаралды 14 М.
Паттерны проектирования на Python: Паттерн Прототип
9:01
EngineerSpock - IT & программирование
Рет қаралды 10 М.
Атрибуты класса, classmethod и staticmethod
44:40
Python Russian
Рет қаралды 4,7 М.
SINGLETON. ПАТТЕРН ПРОЕКТИРОВАНИЯ | Python 3, Питон 3
15:48
Андрей Иванов | Python
Рет қаралды 9 М.
Normal vs Smokers !! 😱😱😱
00:12
Tibo InShape
Рет қаралды 114 МЛН