Sergey Kazantsev
Sergey Kazantsev
  • 27
  • 199 280
R3 UniRx, Теория и Практика, Реактивное программирование, Unity, C#,
Пожалуй, самый сложный и долгий видос который я делал. Устал и измотался, но оно того стоило...
R3 и UniRx в студию!
ссылка на гитхаб на проект
github.com/Haywaar/PatternDemoStorage - пример с реактивными методами
Лежит по пути Assets/R3Demo/
тг нашего уютного сообщества t.me/UnitistNotes
Ссылки на полезные ресурсы:
github.com/Cysharp/R3
th-cam.com/video/kFoBvjwzbNA/w-d-xo.html&ab_channel=InfallibleCode
introtorx.com/chapters/transformation-of-sequences
rxmarbles.com/#concat
Автору на смузи и брокколи
4276 5500 5792 8742 - карта Сбербанка
Тайминги:
00:00 Введение
00:50 Организационные вопросы
01:47 Реактивное программирование - основные принципы
03:37 Rx это Observer?
06:21 Поток данных
10:00 Subject, OnNext, Suscribe, AddTo, Dispose
12:37 Subject + Where
14:10 OnCompleted
15:15 Observable.Timer
16:15 Observable.Interval
17:07 Observable.EveryUpdate
17:42 Disposable.Dispose
18:27 Throttle
19:38 Take
20:25 Skip
20:47 Prepend
21:26 Select
22:02 ReplaySubject
22:43 Chunk
23:27 Merge
24:10 Reactive Properties
25:39 Полезные материалы по R3 и UniRx
26:40 Финал
มุมมอง: 1 697

วีดีโอ

Ошибочные убеждения начинающих разработчиков, Unity, C#, gamedev
มุมมอง 3.7K4 หลายเดือนก่อน
Попробовал более разговорный формат, есть несколько вещей, которыми хотелось бы поделиться. Как вам? Автору на смузи и брокколи 4276 5500 5792 8742 - карта Сбербанка Тайминги: 00:00 Введение 01:09 Большую часть времени разработчики пишут код? 03:18 ChatGPT, копайлоты и нейросети повышают скилл разработчика? 07:15 Большие амбиции и желание ухватить всё везде и сразу 09:35 Желание быстрых результ...
Паттерн Decorator, Декоратор Unity, C#, gamedev
มุมมอง 3K5 หลายเดือนก่อน
Ставь лайк если ООП течёт в твоих венах, раскаляя сердца и вырывается на поверхность! ссылка на гитхаб на проект github.com/Haywaar/PatternDemoStorage - пример с псевдорогалькой Лежит по пути Assets/Patterns/Decorator/GoodExample тг нашего уютного сообщества t.me/UnitistNotes Автору на смузи и брокколи 4276 5500 5792 8742 - карта Сбербанка Тайминги: 00:00 Введение 00:27 Определение 02:07 UML-сх...
Паттерн Command, Команда, Unity, C#, gamedev
มุมมอง 3.8K7 หลายเดือนก่อน
Один из самых непростых паттернов на моём канале. Встречайте, паттерн Command! Напишите пожалуйста, насколько вас раздражает звук ибо мне показалось что фильтр шумоподавления неестественно искажает голос и ухудшает восприятие. На этом ролике я полностью фильтр отключил ссылка на гитхаб на проект github.com/Haywaar/ShawarmaFight - проект с шаурмой github.com/Haywaar/PatternDemoStorage - пример с...
Паттерн State, паттерн состояние, Unity C#
มุมมอง 5K8 หลายเดือนก่อน
Новый видосик по паттерну State Ссылка на гитхаб на проект github.com/Haywaar/ShawarmaFight - проект с шаурмой github.com/Haywaar/PatternDemoStorage - пример с башнями Лежит по пути Assets/Patterns/State/GoodExample Автору на кофе и шаурму 4276 5500 5792 8742 - карта Сбербанка Если будут вопросы тг нашего уютного сообщества t.me/UnitistNotes мой тг @wargy моя почта kazancev.s215@gmail.com Тайми...
Паттерны на практике 2, Zenject для самых маленьких, Unity, C#
มุมมอง 3.5K9 หลายเดือนก่อน
Наконец-таки разобрал зенджект на практике, как многие из вас просили. Напишите пожалуйста, обратную связь по более живому формату видео. Мне такой формат лично не очень нравится, так как кажется что я много косноязычу и э-каю и бэ-каю, но возможно вам нравится более подробный и не такая сухая подача Ссылка на гитхаб на проект github.com/Haywaar/ShawarmaFight Автору на кофе и шаурму 4276 5500 5...
Паттерны на практике 2, шавушный анонс, Unity, C#
มุมมอง 1.1K9 หลายเดือนก่อน
Завёз вам прогрев о грядущих видеороликах) Надеюсь, понравится) Ссылка на гитхаб на проект github.com/Haywaar/ShawarmaFight Автору на кофе и шаурму 4276 5500 5792 8742 - карта Сбербанка Если будут вопросы мой тг @wargy моя почта kazancev.s215@gmail.com Тайминги: 00:00 Введение 00:29 О чём новая игра? 01:30 Какие темы мы рассмотрим? 04:03 Финал
Zenject, внедрение зависимостей, Unity C#
มุมมอง 7K11 หลายเดือนก่อน
Как говорится "Давненько тебя не было видно на уличных гонках" Гитхаб на проект с демкой из видео: github.com/Haywaar/PatternDemoStorage Лежит по пути Assets/Patterns/DIExample Assets/Patterns/DIExample_Zenject Там же и демо сцены с контекстом Автору на кофе и шаурму 4276 5500 5792 8742 - карта Сбербанка Полезные ресурсы на которых можно узнать Zenject получше Яковлев Илья th-cam.com/video/jVFX...
Принципы ООП, инкапсуляция, абстракция, наследование, полиморфизм, Unity, C#
มุมมอง 14Kปีที่แล้ว
Решил вместо редких паттернов рассказать самую базу, так как годный материал по этой теме разбросан по всему интернету Гитхаб на проект с демкой из видео: github.com/Haywaar/PatternDemoStorage Лежит по пути Assets/Patterns/OOPExampleBad Assets/Patterns/OOPExampleGood Там и демка с аптечкой и с расчётом стоимости юнитов Автору на кофе и шаурму 4276 5500 5792 8742 - карта Сбербанка Если будут воп...
Vertical Scroller - заключение, Паттерны на практике, DialogManager, Entry Point, Unity C#
มุมมอง 2.5Kปีที่แล้ว
Ох, ребятушки, вроде темы небольшие, но запотеть пришлось знатно. Так как было много именно практики - мало красивых схем и много трансляций записи с кода. Надеюсь, вам понравилось :) Ссылка на гитхаб игры: github.com/Haywaar/VerticalScrollerExample Автору на кофе и шаурму 4276 5500 5792 8742 - карта Сбербанка Если будут вопросы мой тг @wargy моя почта kazancev.s215@gmail.com Тайминги: 00:00 Вв...
Object Pool, Пул объектов, Паттерны на практике, Unity, C#
มุมมอง 6Kปีที่แล้ว
Ссылка на гитхаб игры: github.com/Haywaar/VerticalScrollerExample для пула от юнити прыгайте на ветку UnityPool Ссылка на гитхаб классного EventBus где тоже есть пул github.com/PeturDarri/GenericEventBus/blob/main/Runtime/GenericEventBus.cs Автору на кофе и шаурму 4276 5500 5792 8742 - карта Сбербанка Если будут вопросы мой тг @wargy моя почта kazancev.s215@gmail.com Тайминги: 00:00 Введение 00...
Event Bus, Паттерны на практике, Unity, C#
มุมมอง 10Kปีที่แล้ว
Ссылка на гитхаб игры: github.com/Haywaar/VerticalScrollerExample Ссылка на гитхаб классной но сложной реализации EventBus github.com/PeturDarri/GenericEventBus/blob/main/Runtime/GenericEventBus.cs Автору на кофе и шаурму 4276 5500 5792 8742 - карта Сбербанка Если будут вопросы тг нашего уютного сообщества t.me/UnitistNotes мой тг @wargy моя почта kazancev.s215@gmail.com Тайминги: 00:00 Введени...
Service Locator, Паттерны на практике, Unity, C#
มุมมอง 7Kปีที่แล้ว
Разобрал один из любимых мною паттернов, которые с точки зрения ООП гигачадов часто может стать анти-паттерном Ссылка на гитхаб: github.com/Haywaar/VerticalScrollerExample Автору на кофе и шаурму 4276 5500 5792 8742 - карта Сбербанка Если будут вопросы мой тг @wargy моя почта kazancev.s215@gmail.com Тайминги: 00:00 Введение 00:22 Проблема: доступ между классами и сложная инициализация 02:15 Опр...
Паттерны на практике, анонс, Unity, C#
มุมมอง 2.9Kปีที่แล้ว
Потихоньку стартую рубрику "Паттерны на практике" и запилил вот такое видео анонс, чтобы подбодрить вас и чуть больше замотивировать себя. Видео по Service Locator th-cam.com/video/1QdOkqBLnp0/w-d-xo.html Ссылка на гитхаб: github.com/Haywaar/VerticalScrollerExample Автору на кофе и шаурму 4276 5500 5792 8742 - карта Сбербанка Если будут вопросы мой тг @wargy моя почта kazancev.s215@gmail.com Та...
Model View ViewModel, Модель Вид Модель Вида, Unity, C#
มุมมอง 12Kปีที่แล้ว
Пожалуй, паттерн на который я потратил больше всего времени p.s. Забыл про отписку от OnChanged в примерах, в гитхаб залью правку Гитхаб на проект с демкой из видео: github.com/Haywaar/PatternDemoStorage Лежит по пути Assets/Patterns/MVVMExample_Simple - окно прокачки персонажа Assets/Patterns/MVVMExample - слот машина с режимом реролла Ссылка на UniRx github.com/neuecc/UniRx assetstore.unity.c...
Model View Presenter, MVP, Модель Вид Представитель, С#, Unity
มุมมอง 12Kปีที่แล้ว
Model View Presenter, MVP, Модель Вид Представитель, С#, Unity
Model View Controller, MVC, Модель Вид Контроллер, C#, Unity
มุมมอง 14Kปีที่แล้ว
Model View Controller, MVC, Модель Вид Контроллер, C#, Unity
Паттерн Abstract Factory, Абстрактная фабрика, C#, Unity
มุมมอง 17Kปีที่แล้ว
Паттерн Abstract Factory, Абстрактная фабрика, C#, Unity
Паттерн Factory Method, Фабричный метод, С#, Unity
มุมมอง 14Kปีที่แล้ว
Паттерн Factory Method, Фабричный метод, С#, Unity
Советы новичкам при поиске первой работы, unity, gamedev
มุมมอง 2.7Kปีที่แล้ว
Советы новичкам при поиске первой работы, unity, gamedev
Dependency Injection, С#, Внедрение зависимостей, unity, gamedev
มุมมอง 19Kปีที่แล้ว
Dependency Injection, С#, Внедрение зависимостей, unity, gamedev
SOLID, 1.5 DIP - Dependency Inversion Principle, Принцип инверсии зависимости, С#, Unity
มุมมอง 9Kปีที่แล้ว
SOLID, 1.5 DIP - Dependency Inversion Principle, Принцип инверсии зависимости, С#, Unity
SOLID, 1.4 ISP - Interface Segregation Principle, Принцип разделения интерфейса , С#, Unity
มุมมอง 3.5Kปีที่แล้ว
SOLID, 1.4 ISP - Interface Segregation Principle, Принцип разделения интерфейса , С#, Unity
SOLID, 1.3 LSP - Liskov Substitution Principle Принцип подстановки Лисков - С#, Unity
มุมมอง 4.9Kปีที่แล้ว
SOLID, 1.3 LSP - Liskov Substitution Principle Принцип подстановки Лисков - С#, Unity
SOLID, 1.2 OCP - Open Closed Principle, Принцип открытости закрытости, С#, Unity
มุมมอง 4.2Kปีที่แล้ว
SOLID, 1.2 OCP - Open Closed Principle, Принцип открытости закрытости, С#, Unity
SOLID, 1.1 SRP - Single Responsibility Principle, Принцип Единственной ответственности, С#, Unity
มุมมอง 6Kปีที่แล้ว
SOLID, 1.1 SRP - Single Responsibility Principle, Принцип Единственной ответственности, С#, Unity
Паттерн Observer, С#, unity, gamedev,
มุมมอง 9Kปีที่แล้ว
Паттерн Observer, С#, unity, gamedev,

ความคิดเห็น

  • @dezoksiribonukleotid5011
    @dezoksiribonukleotid5011 7 ชั่วโมงที่ผ่านมา

    Крайне рекомендую использовать реактивные свойства реализованные у нового плагина R3 от создателя UniTask и UniRX

    • @sergeykazantsev1655
      @sergeykazantsev1655 5 ชั่วโมงที่ผ่านมา

      По ним даже видео на канале есть

  • @dezoksiribonukleotid5011
    @dezoksiribonukleotid5011 8 ชั่วโมงที่ผ่านมา

    В целом всё круто, но с тем, что в разработке приложений больше подходит supervising controller, чем passive view, не согласен. Мне лично гораздо удобней работать со вторым. Да и в Unity примерах везде используется именно passive view.

  • @Liero2007
    @Liero2007 2 วันที่ผ่านมา

    Совершенно не понимаю зачем стрелять самому себе в ногу, ради связности? У EventBus больше минусов чем решение проблем 1) Учитывая, что не все действия подписываються и отписываются только на старте сцены и ее закрытии (а и в динамике в рантайме.), это означает аллокации GC за каждую подписку и отписку (которых нет при обычном связном способе). 2) Проблема дебага кода, получиш ошибку в этом автобусе, если проект большой, потом сиди ищи, что конкретно вызвало ошибку! 3) Удар по производительности в больших проектах! Так как опять же если в рантайме подписываться и отписываться , то учитывая что события автобуса, может держать в себе тысячи подписчиков, а еще и проверка при подписке, а нет ли уже этого подписщика в автобусе (это по сути перебор и сравнение тысяч подписчиков). А теперь представте, что у вас подписка и отписка может происходить, по несколько раз в секунду. 4) Проблема очередности вызова! Если нам нужно что бы одно событие всегда вызывалось перед другим событием! И тут возникает главный вопрос, а стоит ли решение одной трудности (даже не проблемы, а удобства) внедрением куча новых проблем?

    • @sergeykazantsev1655
      @sergeykazantsev1655 วันที่ผ่านมา

      А какие вы можете предложить правильные и удобные альтернативы?

  • @Lynatik001
    @Lynatik001 4 วันที่ผ่านมา

    довольно приятно. но возникает вопрос. если например таких разностей много, например есть оружие армор и ювелирка, и они могут затачиватся, то выходит тоже вешать интерфейс еще 1? А если раздновидностей итемов слишком много и например 40% имеют общее и так по 5 раз. То есть есть множество имеет етук одинаковую функу но их слишком много(фунок) - но и ко всем не применишь - ибо не ко всем применима. но и интерфейсов же не будешь 7+ ростягивать?

    • @sergeykazantsev1655
      @sergeykazantsev1655 3 วันที่ผ่านมา

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

  • @syrexford
    @syrexford 9 วันที่ผ่านมา

    Кто нибудь сталкивался с такой проблемой? Я добавил R3 в проект и написал простой ежесекундный счетчик времени, через Interval, так как в видео. Но почему то Textmeshprougui.text, не отрисовывался, но изменялся, но самое странное то, что выполнялись только первые 2 строчки кода, а всё остальное нет. Как это решить?

    • @sergeykazantsev1655
      @sergeykazantsev1655 3 วันที่ผ่านมา

      У меня была проблема с размером текста, он не влезал в контейнер и потому исчезал. Второй раз было похожее, что вы пишете, в едиторе в компоненте текст меняется, а визуально нет. Но по-моему я поменял тип компонента и все заработало. Может где-то в настройках TMP это по другому фиксится

    • @syrexford
      @syrexford 3 วันที่ผ่านมา

      @sergeykazantsev1655 спасибо за помощь

  • @cerf14506
    @cerf14506 9 วันที่ผ่านมา

    Подскажите пожалуйста, если я создаю абстрактную фабрику для создания противников рационально создавать enemy state machine для контроля анимаций и действий ?

    • @sergeykazantsev1655
      @sergeykazantsev1655 9 วันที่ผ่านมา

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

    • @cerf14506
      @cerf14506 9 วันที่ผ่านมา

      Спасибо!

  • @Game-qz6dl
    @Game-qz6dl 11 วันที่ผ่านมา

    Супер, доступно даже для такого пенька как я. Спасибо!

  • @r.prybluda
    @r.prybluda 14 วันที่ผ่านมา

    Самое понятное объяснение с крутой анимацией для понимания, которе я видел на youtube. Сегрей, большое спасибо!👍

  • @Димас-ТвойРазработчикИгр
    @Димас-ТвойРазработчикИгр 15 วันที่ผ่านมา

    Спасибо за качественное объяснение, вроде давно про реактивное программирование знаю, но углублённого понимания не сформировал)

  • @George_Panov_Moscow
    @George_Panov_Moscow 16 วันที่ผ่านมา

    спасибо, очень нравится ваш канал👍

  • @Veles017
    @Veles017 18 วันที่ผ่านมา

    Спасибо!

  • @firefeed1
    @firefeed1 18 วันที่ผ่านมา

    а UnityEvent'ы тоже сюда подходят?

    • @sergeykazantsev1655
      @sergeykazantsev1655 18 วันที่ผ่านมา

      Да, на 11:10 как раз про это и говорил

  • @Veles017
    @Veles017 19 วันที่ผ่านมา

    Моё почтение! Спасибо большое!

  • @mobiledevloperroadtopro
    @mobiledevloperroadtopro 19 วันที่ผ่านมา

    ​ @sergeykazantsev1655 здравствуйте не забрасывайте канал, спс вам большое, делайте больше контента и у вас будут 1 000 000 подписчиков современим

  • @vladoosick806
    @vladoosick806 20 วันที่ผ่านมา

    Здравствуйте, скажите, пожалуйста, почему в примере для проверки, является ли юнит кратным 3, не используется вот такая формула: return (_id % 3 == 0)? То есть если сейчас юнит является 3 по счёту то номер перекрасится в жёлтый? а так по формуле как у вас 2 юнит должен перекраситься в желтый цвет. Объясните, пожалуйста, почему именно такая формула используется.

    • @sergeykazantsev1655
      @sergeykazantsev1655 20 วันที่ผ่านมา

      Здравствуйте, индекс начинается с нуля, поэтому к id мы прибавляем единицу и только потом делим на 3

    • @vladoosick806
      @vladoosick806 20 วันที่ผ่านมา

      @sergeykazantsev1655 а, теперь понял. Спасибо большое!

  • @Sergey-qv9es
    @Sergey-qv9es 20 วันที่ผ่านมา

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

    • @sergeykazantsev1655
      @sergeykazantsev1655 20 วันที่ผ่านมา

      Спасибо большое) буду стараться

  • @Yury93-b8n
    @Yury93-b8n 21 วันที่ผ่านมา

    Вот насчёт гита лучше сначала погуглить, а не идти в чат гпт сразу)))

  • @DDDZQQQ
    @DDDZQQQ 23 วันที่ผ่านมา

    Невероятно доступное объяснение! Спасибо большое!

  • @BastionKadabr
    @BastionKadabr 24 วันที่ผ่านมา

    тупо не понимаю как работает связка ------ Subject Observable Observer и ReactiveProperty

    • @sergeykazantsev1655
      @sergeykazantsev1655 24 วันที่ผ่านมา

      12:05 Subject = Obserable - это источник Observer - слушатель, приёмник

    • @BastionKadabr
      @BastionKadabr 24 วันที่ผ่านมา

      @@sergeykazantsev1655 спс что ответили , я провокационно конечно немного , просто тяжеловато и да не понимаю стоит ли отказываться - стараться от event ов делегатов типа Action , Func и вот это вот все , к примеру для UI в основном поддерживающие интерфейсы - Dragи Dropы Click и - вот это , нужно ли стараться переходить полностью на реактивщину - просто мучают все эти вопросы - хз как правильно что бы потом не обделаться , точнее что то не упустить - я хз в общем мозг кипит

    • @sergeykazantsev1655
      @sergeykazantsev1655 24 วันที่ผ่านมา

      Я бы сказал, что зависит от ваших целей. Если вы просто для удовольствия пишете небольшие игры - вы царь и Бог выбирать те решения и инструменты удобные вам. Если же вы планируете работать разработчиком, рано или поздно вы наткнётесь на команду которая пишет на R3 или UniRx и спросят - знаете ли его вы. Или просто будете писать уже достаточно большой проект и обычных экшнов вам перестанет хватать. И в таких случаях знать R3 и UniRx полезно.

  • @presentlife5677
    @presentlife5677 25 วันที่ผ่านมา

    Здравствуйте, Сергей! Спасибо за прекрасные обучающие материалы, очень много полезного для себя почерпнул. Хотел бы задать такой вопрос: как Вы считаете, может ли MVC существовать без какого-либо компонента, например Model (когда не нужно что-либо хранить) или View (когда не нужно что-либо отображать)? или тогда это уже не MVC, а что-то другое? Например: я реализовал логику сохранения данных (позиция игрока, собранные предметы, пройденные квесты и т.д.) в игре посредством создания GameData- Model (в модели хранятся непосредственно данные и в конструкторе задаются данные по-умолчанию) & Controller (отвечает за логику сохранения / загрузки данных, в том числе на основе событий). View нет, т.к. нет необходимости что-то отображать в данной связке.

    • @sergeykazantsev1655
      @sergeykazantsev1655 25 วันที่ผ่านมา

      Здравствуйте! Да, такое возможно, но это уже не паттерн MVC. Это просто разделение кода на разные слои В этом ничего плохого нет. Я сам часто для UI разбиваю код только на два слоя: данные и вид. Пока на виде(каком-нибудь окошке) пара кнопок и никакой сложной логики - Controller или Presenter я не создаю

  • @user-huyuzeraaaaady
    @user-huyuzeraaaaady 25 วันที่ผ่านมา

    хоть где-то узнала как работает стиральная машинка))))))))))

  • @nidze
    @nidze 26 วันที่ผ่านมา

    а вот если у нас есть данный словарь: private static Dictionary <Type, object> Services = new(); и нам надо регистрировать и как то получать разные реализации интерфейса,если мы получаем объект по Type?

    • @sergeykazantsev1655
      @sergeykazantsev1655 26 วันที่ผ่านมา

      Это больше на сервис локатор похоже)

    • @nidze
      @nidze 26 วันที่ผ่านมา

      @@sergeykazantsev1655 по сути DI это и есть сервис локатор,который сам прокидывает зависимости,в моем проекте он это делает через рефлексию и аттрибуты метода

    • @nidze
      @nidze 26 วันที่ผ่านมา

      и еще хотелось бы узнать как грамотно при такой системе сделать Entry Point, нигде не могу найти полной информации

    • @sergeykazantsev1655
      @sergeykazantsev1655 25 วันที่ผ่านมา

      Обычно между DI и сервис локатором есть разница в моменте когда вы внедряете сервисы. В DI внедрение происходит сразу, при создании или инициализации класса. Получить же сервисы через сервис локатор вы можете в любой момент выполнения, а не только инициализации. Потому обычно DI и принято отличать от сервис локатора

    • @sergeykazantsev1655
      @sergeykazantsev1655 25 วันที่ผ่านมา

      А в чём конкретно трудности с сочетанием DI и Entry Point у вас возникают?

  • @sergeyjiter6732
    @sergeyjiter6732 27 วันที่ผ่านมา

    Очень круто и интересно объяняете, посмотрел все видео, как сериал😅. Вот бы видео про ecs

    • @sergeykazantsev1655
      @sergeykazantsev1655 27 วันที่ผ่านมา

      Спасибо) ECS точно не скоро)

    • @elementarist1991
      @elementarist1991 16 วันที่ผ่านมา

      @@sergeykazantsev1655 жаль, очень было здорово и полезно 🥰🔥

    • @Kot_Sergeev
      @Kot_Sergeev 16 วันที่ผ่านมา

      @@sergeykazantsev1655 ждем 🙌

  • @MegaMaxxa
    @MegaMaxxa 28 วันที่ผ่านมา

    Автора рекомендую, приятно посмотреть. TowerState больше ISP или LSP нарушает? Раздутая абстракция, не реализуемые в наследниках методы интерфейса

    • @sergeykazantsev1655
      @sergeykazantsev1655 27 วันที่ผ่านมา

      Скорее LSP. Можнл в качестве альтернативы передавать кнопки по другому, чтобы каждый state вместо обработки методов возвращал список доступных кнопок, но если в них будет уникальная логика, в зависимости от стейта , такое не получится

  • @USSR-Lenin-Stalin-Forever
    @USSR-Lenin-Stalin-Forever หลายเดือนก่อน

    Сделайте видео как сделать DI контейнер

    • @sergeykazantsev1655
      @sergeykazantsev1655 หลายเดือนก่อน

      А чем вас Зенджект или VContainer не устраивает?)

  • @toxic_champ
    @toxic_champ หลายเดือนก่อน

    17:55 имеет ли больший смысл использовать в 39й строке Clear вместо Dispose? Например, если я захочу потом новую подписку в этом же скрипте создать?

    • @sergeykazantsev1655
      @sergeykazantsev1655 หลายเดือนก่อน

      Dispose отрубает слушатель навсегда. Clear - отписывается, с возможностью подписаться потом вновь. Если хотите делать подписку заново в дальнейшем - лучше делать Clear

  • @nazimmagomedov580
    @nazimmagomedov580 หลายเดือนก่อน

    Такой вопрос, если у меня нет разных семейств, но у меня все униты разные. Например есть зомби, скелет и т.д, у каждого соответственно свои механики и все наследуются от абстракции enemy. Так вот стоит ли использовать абстрактную фабрику или фабричный метод?

    • @sergeykazantsev1655
      @sergeykazantsev1655 หลายเดือนก่อน

      Скорее всего нет, и проще сделать некую единую фабрику которая создает всех юнитов.

  • @Igor-Demchuk
    @Igor-Demchuk หลายเดือนก่อน

    Это потрясающе, спасибо большое!

  • @Igor-Demchuk
    @Igor-Demchuk หลายเดือนก่อน

    Топ! Спасибо огромное!

  • @Igor-Demchuk
    @Igor-Demchuk หลายเดือนก่อน

    Спасибо большое! Очень доступно!

  • @almaz303.
    @almaz303. หลายเดือนก่อน

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

  • @ВалерийКазаков-ж5х
    @ВалерийКазаков-ж5х หลายเดือนก่อน

    Здравствуйте, подскажите пожалуйста, при использовании архитектуры MVP, у нас бизнес логика обрабатывается внутри модели ? в презентере? или в отельных "сервисах" или та логика которая работает с данными в модели, та что соединяет вью с моделью в презентере, а так что не относиться ни к первому не ко второму в сервисах?

  • @LRV-q5t
    @LRV-q5t หลายเดือนก่อน

    я так понимаю тут Binder вынесен в VM, а когда нужен отдельный класс Binder?

    • @sergeykazantsev1655
      @sergeykazantsev1655 หลายเดือนก่อน

      А что именно под Binder-ом вы понимаете? Место где связывается VM, View и Model? Тогда у меня роль биндера выполняет MainScript в демке

  • @Uberdevice
    @Uberdevice หลายเดือนก่อน

    Подача - мое уважение.

  • @VitaliyMB
    @VitaliyMB หลายเดือนก่อน

    Большое спасибо! Видно владение темой, все грамотно и по делу! Лайк и подписка.👍🏻

  • @МаксимНовиков-ь4ц
    @МаксимНовиков-ь4ц หลายเดือนก่อน

    Просто потрясающе объяснение, с чувством, толком, расстановкой. Одного не могу понять-где детали зависят от абстракций ?

    • @sergeykazantsev1655
      @sergeykazantsev1655 หลายเดือนก่อน

      Детали являются частью классов низкого уровня. Классы низкого уровня зависят от абстракций. Если изменить абстракцию, придётся менять класс низкого уровня и саму деталь, как ее часть.

    • @sergeykazantsev1655
      @sergeykazantsev1655 หลายเดือนก่อน

      Тот же пример, если вы делали спойлеры на машины, а потом внезапно начали делать грузовые баржи, спойлер придётся немного переделать)

    • @МаксимНовиков-ь4ц
      @МаксимНовиков-ь4ц หลายเดือนก่อน

      Очень тонкая штука. Тогда можно было бы обойтись высказыванием, что классы низкого и высокого уровня должны зависеть от абстракций. Спасибо за разъяснение.

  • @MoiseevMaxim
    @MoiseevMaxim หลายเดือนก่อน

    Супер крутые гайды, по паттернам! У меня вопрос не большой: Клиентом же не обязательно должна быть условная фабрика. Если, например, у меня есть какое-то объект, на который другие системы(классы, объекты) должны повлиять. Я могу в каждой другой системе создавать такую команду? Например, если в этой игре была, какая-то сущность, которая тоже создавалась и добавляла свои ходы? Или эти системы просто будут содержать сслыку на фабрику все команд?

    • @sergeykazantsev1655
      @sergeykazantsev1655 หลายเดือนก่อน

      Я бы все таки старался придерживаться принципа SRP и так или иначе сделал бы, чтобы в итоге фабрика была в одном месте и только она создавала бы команду. Наверное - это можно делать посредством ивентов - в вашей новой системе что-то происходит - она отправляет событие - кто-то на данное событие реагирует и вызывает фабрику

  • @elementarist1991
    @elementarist1991 หลายเดือนก่อน

    Как всегда шикарен 🔥 Объяснение пушка 🔥🔥🔥

  • @artemvvedenskii728
    @artemvvedenskii728 หลายเดือนก่อน

    похоже на кусочек ecs

    • @sergeykazantsev1655
      @sergeykazantsev1655 หลายเดือนก่อน

      А что именно?

    • @artemvvedenskii728
      @artemvvedenskii728 หลายเดือนก่อน

      @@sergeykazantsev1655 там так же события пускаются в общем потоке и системы их так же ловят и обрабатывают в свое время

  • @haiverden623
    @haiverden623 หลายเดือนก่อน

    Мой первый +- серьезный проект был как раз TD(Обожаю этот жанар). Данный опыт показал мне как много я не знаю

    • @sergeykazantsev1655
      @sergeykazantsev1655 หลายเดือนก่อน

      Мне даже сейчас TD делать непросто)

  • @hactle_d
    @hactle_d หลายเดือนก่อน

    Как же меня убивают эти всплывающие картинки, особенно при большом определении

  • @alexgolovin4069
    @alexgolovin4069 หลายเดือนก่อน

    Спасибо! Неизменно лучшее объяснение!

  • @haiverden623
    @haiverden623 หลายเดือนก่อน

    Мама я влюбился. Краткое объяснение как все +- работает(я уж привык что подобные вещи по часу объясняют).Ссылка на проект с РАЗНОЙ реализацией одного проекта. Ссылки на других авторов которые тоже объясняют тему. Подробные тайм коды. Вот это я называю любовь с первого взгляда

  • @igor_mutny
    @igor_mutny หลายเดือนก่อน

    Объяснение теории прямо доступнее некуда 🔥 Не первый раз замечаю, что у автора талант объяснять сложные концепции простыми словами 👍

  • @ЕгорТвердохлеб-й2р
    @ЕгорТвердохлеб-й2р หลายเดือนก่อน

    Круто рассказываешь, tnx

  • @Stellar_Architect
    @Stellar_Architect หลายเดือนก่อน

    Лицо збс!

  • @СергейВдовенко-е3щ
    @СергейВдовенко-е3щ หลายเดือนก่อน

    На днях задумался изучить и ролик очень кстати. Получить понимание и штурмовать доки. Спасибо!

  • @YellowAK47
    @YellowAK47 หลายเดือนก่อน

    очень четко и кратко. хорошо использовать, как шпаргалку

  • @Абелис
    @Абелис หลายเดือนก่อน

    Сережа спасибо!

  • @MrGolovewkin
    @MrGolovewkin หลายเดือนก่อน

    Спасибо за видео! Подозреваю, тут должна быть ссылка на телеграм в описании)