Отличное видео, спасибо 👍🏻 От себя хотел бы добавить что при реалации паттерна Singleton использую приставку "final" для class с целью закрыть класс от наследования. final class ExampleSingleton { static let sharedInstance = ExampleSingleton() private init() { } }
Странно, а кто поставил дизлайк интересно? может случайно! Я часто встречаю в классах эту байду и никак не мог понять нахрена? извиняюсь за жаргон! А оказалось всё проще некуда :)) Что касается самого объяснения, то вполне ясно и доходчиво дано объяснение. Правда если соооовсем новичок то въехать сложнее, а так, если часто встречаешь в разных примерах синглетон и мало где дано объяснение, то ВОТ ТУТ Евгений как раз и шасшифровал данное понятие и зачем оно нужно :) Спасибо за урок! :)
По Синглтону добавлю один момент, когда сам изучал паттерны, наткнулся на один парадокс. Книга Э.Гамма и др. "Приёмы объектно-ориентированного проектирования. Паттерны проектирования" с.132. Цитирую "...допускает переменное число экземпляров. Паттерн позволяет вам легко изменить свое решение и разрешить появление более одного экземпляра класса Singleton.". Для меня это прозвучало как гром среди ясного неба, но чтобы те, кто изучает данную тему понимали, что бывают разные ситуации и казалось бы одиночка - значит один, но нет, шаблон допускает исключение из правил.
Привет Евгений! Поздравляю с Новым годом, желаю творческих успехов и отличного настроения! Давно не заходил на твой канал, а тут столько вкусного появилось )). За паттерны (или "Шаблоны проектирования") тебе отдельное спасибо, тема эта очень нужная, плюс с твоей гениальной подачей материала, она зайдёт всем легко, я даже не сомневаюсь.
Спасибо! Кстати, у URLSession shared определена не как static, а как class var. Понял, что разница в возможности override - static нельзя перекрыть, class var - можно. Можно ли определить shared у Settings как class var и какие возможны еще нюансы в этом случае?
Куда присоединиться: 1.Наше сообщество в вк(добаляемся к более 3,5 тыс) = vk.com/theswiftdevelopers 2.В телеграмме мы помогаем новичкам и всем желающим (нас больше 1,500 тыс) - t.me/joinchat/BAn0BkLMGrfpDYy2cnysNg p.s Домашние задание: смотрите в группах! Если все понравилось ты знаешь что делать;) Ставь лайк и пиши комент! :)
Спасибо за урок! Есть вопрос - если после описания какого-нибудь создаваемого класса, например, сразу после последней закрывающей его скобки, сделать сразу экземпляр класса, например: let inst = СlassName(), экземпляр тоже получается глобальный и не уничтожается и в единственном экземпляре. Но есть плюс - легче к нему обращаться (меньше писанины:-)), например: inst.funcName() вместо ClassName.shared.funcName(). Почему все же применяют Singletone? Спасибо!
Автор, так намутить на ровном месте нужно было уметь. Что тут поняли благодарившие - тайна сия велика есть. Хотя сама суть предельно проста. Классы - тоже объекты (по факту, в определении это называется "статический объект класса" (наплодили сущностей)), причем синглтоны. Причем статические методы и переменные - именно их. Через статический метод-конструктор они порождают обычные объекты(этот паттерн нужно было дать раньше). Это прекрасно расписано (ибо на поверхности) в Objective C. Так что свою "единственность" синглтон в вашем примере берет от класса.
Не переводи на русский язык постоянно, это раздражает, это никому не нужно, люди которые подобными вещами интересуются они не настолько дегенераты чтобы им всё нужно было переводитью
Просто знай, что мы тебя любим и ты нам нужен
Отличное видео, спасибо 👍🏻 От себя хотел бы добавить что при реалации паттерна Singleton использую приставку "final" для class с целью закрыть класс от наследования.
final class ExampleSingleton {
static let sharedInstance = ExampleSingleton()
private init() {
}
}
Маэстро в деле. Гипер полезная тема. Плюсую.
Большое спасибо! Это был лучший урок по данной теме. Успехов!!!
Главное не забрасывай канал, очень интересно и доходчиво!
Ура, наконец-то паттерны. Спасибо за уроки !!!
Странно, а кто поставил дизлайк интересно? может случайно! Я часто встречаю в классах эту байду и никак не мог понять нахрена? извиняюсь за жаргон! А оказалось всё проще некуда :)) Что касается самого объяснения, то вполне ясно и доходчиво дано объяснение. Правда если соооовсем новичок то въехать сложнее, а так, если часто встречаешь в разных примерах синглетон и мало где дано объяснение, то ВОТ ТУТ Евгений как раз и шасшифровал данное понятие и зачем оно нужно :) Спасибо за урок! :)
дальше тоже расшифруем
Хейтеры видимо. Гореть им в аду.
Отличное видео с хорошим началом). Ждём продолжения!)
Наконец-то понятно о парттернах, спасибо большое!!!🔥🔥
Оу-оу, Евгений сново в деле, еще не смотрел но уже лайкую 🙂 спасибо тебе, в предвкушении 🙂
Спасибо, все очень понятно
По Синглтону добавлю один момент, когда сам изучал паттерны, наткнулся на один парадокс. Книга Э.Гамма и др. "Приёмы объектно-ориентированного проектирования. Паттерны проектирования" с.132. Цитирую "...допускает переменное число экземпляров. Паттерн позволяет вам легко изменить свое решение и разрешить появление более одного экземпляра класса Singleton.". Для меня это прозвучало как гром среди ясного неба, но чтобы те, кто изучает данную тему понимали, что бывают разные ситуации и казалось бы одиночка - значит один, но нет, шаблон допускает исключение из правил.
Евгений , Спасибо большое за труды) очень понятно, доступно обьяснил)
Отличный урок, просто и доходчиво! Спасибо Евгений.
Очень круто и понятно!! Спасибо огромное🥰
Спасибо огромное за понятное объяснение!!
Спасибо, отличный урок и комментарии.
здорово, а я боялся))) СПасибо, очень понятно и подробно
Спасибо, что Вы есть. Здравствуйте.
Спасибо! Все коротко и ясно.
Привет Евгений! Поздравляю с Новым годом, желаю творческих успехов и отличного настроения! Давно не заходил на твой канал, а тут столько вкусного появилось )). За паттерны (или "Шаблоны проектирования") тебе отдельное спасибо, тема эта очень нужная, плюс с твоей гениальной подачей материала, она зайдёт всем легко, я даже не сомневаюсь.
Спасибо, очень много времени трачу что б очень понятно рассказать
И тебя с новым годом и успехов
Спасибо за урок!
Как всегда на высоте 🔝🔝🔝
Супер, спасибо за уроки!
Спасибо Вам!
Отличные видео, спасибо большое!
Спасибо
Классный урок
Супер курс! То что надо! Только не объяснили как выгружать свойство static...
Zhan Swift зачем его выгружать? Потом, ты можешь задать атрибут class, но тогда надо будет делать свойство вычисляемым
не говори того чего сам не понимаешь
@@arturmavlyuchenko7647
Продолжаем!!!
"кто не знает, может кто-то знает, я не знаю". Извините, не удержалась
спасибо, все круто, ты пушка, бомба)
Спасибо!
Отличное видео
спасибо большое
эх...я так ждал Core Data ....(минусовая не я если что))))
минусовал*
Спасибо! Кстати, у URLSession shared определена не как static, а как class var. Понял, что разница в возможности override - static нельзя перекрыть, class var - можно. Можно ли определить shared у Settings как class var и какие возможны еще нюансы в этом случае?
разницы тут нет и static и class несут одну и туже смысловую нагрузку
Хорошо бы дополнить данный урок реализацией синглтона с ленивой и потокобезопасной инициализацией.
эпл говорит что защищает
@@theswiftdevelopers1301 со статиком да - я имею ввиду ленивую инициализацию
Куда присоединиться:
1.Наше сообщество в вк(добаляемся к более 3,5 тыс) = vk.com/theswiftdevelopers
2.В телеграмме мы помогаем новичкам и всем желающим (нас больше 1,500 тыс) - t.me/joinchat/BAn0BkLMGrfpDYy2cnysNg
p.s
Домашние задание: смотрите в группах!
Если все понравилось ты знаешь что делать;)
Ставь лайк и пиши комент! :)
Отлично. А когда следующий?
как время появиться)
@@theswiftdevelopers1301 Я готов донатить, если это может способствовать ускорению процесса :)
вот тут обычно донатят vk.com/app5727453_-139873795
4:04 singleton without E at the end of the work
А если мы сделаем это паттерн не через STATIC переменную, а все свойства статическими? Что измениться ?
измениться вызов под капотом
Ждем некст
Спасибо за урок! Есть вопрос - если после описания какого-нибудь создаваемого класса, например, сразу после последней закрывающей его скобки, сделать сразу экземпляр класса, например: let inst = СlassName(), экземпляр тоже получается глобальный и не уничтожается и в единственном экземпляре. Но есть плюс - легче к нему обращаться (меньше писанины:-)), например: inst.funcName() вместо ClassName.shared.funcName(). Почему все же применяют Singletone? Спасибо!
Автор, так намутить на ровном месте нужно было уметь. Что тут поняли благодарившие - тайна сия велика есть. Хотя сама суть предельно проста. Классы - тоже объекты (по факту, в определении это называется "статический объект класса" (наплодили сущностей)), причем синглтоны. Причем статические методы и переменные - именно их. Через статический метод-конструктор они порождают обычные объекты(этот паттерн нужно было дать раньше). Это прекрасно расписано (ибо на поверхности) в Objective C. Так что свою "единственность" синглтон в вашем примере берет от класса.
Не переводи на русский язык постоянно, это раздражает, это никому не нужно, люди которые подобными вещами интересуются они не настолько дегенераты чтобы им всё нужно было переводитью
как показывает опыт переводить нужно все )
уроки низкого качества
Viacheslav Tolstopiatenko , спасибо
Спасибо
Спасибо