No video

Паттерны на практике 2, Zenject для самых маленьких, Unity, C#

  Рет қаралды 2,758

Sergey Kazantsev

Sergey Kazantsev

Күн бұрын

Наконец-таки разобрал зенджект на практике, как многие из вас просили.
Напишите пожалуйста, обратную связь по более живому формату видео. Мне такой формат лично не очень нравится, так как кажется что я много косноязычу и э-каю и бэ-каю, но возможно вам нравится более подробный и не такая сухая подача
Ссылка на гитхаб на проект
github.com/Hay...
Автору на кофе и шаурму
4276 5500 5792 8742 - карта Сбербанка
Если будут вопросы
мой тг @wargy
моя почта kazancev.s215@gmail.com
Тайминги:
00:00 Введение
00:57 Псевдокод и сказка про кощея
04:20 Внедряем с нуля новую зависимость с помощью Zenject
09:55 Внедрение в созданные объекты в реалтайме с помощью Zenject
12:15 Использование фабрик и пулов в Zenject
15:43 Обзор использования Zenject в боевой сцене про шаурму
20:20 Финал

Пікірлер: 38
@assage
@assage 5 ай бұрын
Недавно наткнулся на твой канал. Я много видео посмотрел по Zenject и это самое наглядное объяснение на реальной практике. Каждое видео полезно. Спасибо за контент 🔥
@mikhail6384
@mikhail6384 5 ай бұрын
огромное спасибо! насколько видео про zenject смотрел, ваше самое лучшее и понятным языком рассказано 👍
@maximalpro
@maximalpro 2 ай бұрын
Только после этого видео, я наконец-то понял как это всё работает. Спасибо тебе большое, автор!
@MrG12g
@MrG12g 5 ай бұрын
Ваще круто рассказал, так держать))
@user-yu9wr7tt9v
@user-yu9wr7tt9v 6 ай бұрын
Урааа, спасибо за видос
@VitVit312
@VitVit312 6 ай бұрын
Этот момент когда дотс кажется легче и понятнее, сколько не глядел но никак не могу убедить себя в использовании зенжекта и прописывать километр строк кода с биндами, через какое то время просто теряешь понимание что это "удобно", необходимость прокидывать какие то ссылки руками никуда не уходит, на кой он тогда нужен, волшебные зависимости о которых рассказывают на ютубах несут в себе столько воды что хватило помыться всему району Если бы конечно посмотреть какой то простой проект(сложнее чем 2 скрипта, хотя бы на десяток и 3 сцены) с нуля что бы понять за что мы боремся, где то самое удобно и как оно выглядит
@sergeykazantsev1655
@sergeykazantsev1655 6 ай бұрын
Я потихоньку начинаю вкатываться в dots и ECS , так что скоро и у меня сложится про это какое-то мнение) Попробую написать небольшой проект и проанализирую насколько все удобнее с этим вашим ECS)
@bornumental146
@bornumental146 6 ай бұрын
харош
@elementarist1991
@elementarist1991 6 ай бұрын
Запишите пожалуйста видео про Finite State Machine 🙏
@sergeykazantsev1655
@sergeykazantsev1655 6 ай бұрын
Как раз материал готовлю, через недельку, максимум две будет на канале
@elementarist1991
@elementarist1991 6 ай бұрын
@@sergeykazantsev1655 это потрясающе ❤
@elementarist1991
@elementarist1991 6 ай бұрын
@@sergeykazantsev1655спасибо большое , жду 🔥👍
@wipethetears7913
@wipethetears7913 5 ай бұрын
Было бы здорово​@@sergeykazantsev1655
@sergeykazantsev1655
@sergeykazantsev1655 5 ай бұрын
done
@user-nj1bh7zs7d
@user-nj1bh7zs7d 6 ай бұрын
Пример со сказкой конечно прикольно придуман, но решение прокидывать иголку через все классы намеренно неправильное. Не удивлюсь если в реальном проекте ты бы создал зависимость от иголки только у яйца, а дальше пошёл так же ступенчато прокидывать яйцо в утку, а утру в зайца. И в этом случае Pure DI всё бы решил (мне кажется стоило бы об этом сказать в видосе).
@sergeykazantsev1655
@sergeykazantsev1655 6 ай бұрын
С поинтом согласен, но я специально подобрал такой пример как некий edge-case, но этот пример имеет место в реальной разработке и такие "иголки" случаются, пусть и в более сложной форме, где нельзя прокинуть иголку в яйцо, а дальше уже без неё. Понятно что этот пример можно сделать чище, но чтобы сохранилась наглядность и без перегруза информацией была ясна проблема - решил сделать так
@user-ef8yw9mq8p
@user-ef8yw9mq8p 6 ай бұрын
Может кто то знает? Пытаюсь освоить zenject уже после Spring(java backend). Возникает вопрос: есть ли какие либо аннотации Qualifier? Ну или хотя бы возможность создать фабрику, которая будет создавать разные реализации интерфейса исходя из класса в который объект создаваемый фабрикой будет заинжекчен. Пока что получилось в класс внедрить фабрику, которая получает в метод Create() параметром Type и уже внутри реализации кастомной фабрики через switch или Dictionary выбирается вариант реализации. Но, конечно, хотелось бы как то упростить это странный код и вынести эту логику в биндинги...
@sergeykazantsev1655
@sergeykazantsev1655 5 ай бұрын
Я пока не очень понимаю проблему. Есть фабрика, в неё вы хотите заинжектить префаб, который может быть разного типа? Речь идёт о монобех префабе или просто обычном классе? Пока не могу понять
@beziboba9458
@beziboba9458 2 ай бұрын
Не совсем понимаю. Удалось проинжектить эвент бас "миддл эдишн" в НЕ монобеховский класс. Подписки прошли успешно, но вот как отписаться от событий не пойму. В эдиторе, при выходе из плей мода, дебаг.лог в методе Dispose не показывает ничего.
@beziboba9458
@beziboba9458 2 ай бұрын
Вопрос снят. У MonoInstaller есть метод OnDestroy. Вызвал Dispose в нем.
@sergeykazantsev1655
@sergeykazantsev1655 2 ай бұрын
Ну да, если класс не монобех, его должен dispose-ить кто-то другой)
@kirillkaleda5798
@kirillkaleda5798 5 ай бұрын
а что делать если я хочу внедрить сервис в класс который я создаю в реалтайме, но он не монобеховский?
@sergeykazantsev1655
@sergeykazantsev1655 5 ай бұрын
Если сам новый класс который вы создаёте в реалтайме не является сервисом, то скорее всего diContainer.Inject(object) должно хватить, как на 11:50 В гитхабе можете посмотреть скрипт TurnManager.cs, там я так инжектирую команды
@chernos
@chernos 6 ай бұрын
Ничего ты быстрый
@sergeykazantsev1655
@sergeykazantsev1655 6 ай бұрын
У меня видео про анонс лежало в столе несколько дней)
Паттерн Command, Команда, Unity, C#, gamedev
20:00
Sergey Kazantsev
Рет қаралды 2,6 М.
Lehanga 🤣 #comedy #funny
00:31
Micky Makeover
Рет қаралды 26 МЛН
小蚂蚁被感动了!火影忍者 #佐助 #家庭
00:54
火影忍者一家
Рет қаралды 52 МЛН
IQ Level: 10000
00:10
Younes Zarou
Рет қаралды 13 МЛН
Service Locator, Паттерны на практике, Unity, C#
12:08
Паттерн State, паттерн состояние, Unity C#
13:15
Sergey Kazantsev
Рет қаралды 3,9 М.
Подробный урок по Entity Component System в Unity
15:27
Insane One - Разработка игр
Рет қаралды 42 М.
Event Bus, Паттерны на практике, Unity, C#
15:33
Sergey Kazantsev
Рет қаралды 8 М.
Unity 2021 Use Scriptable Object instead of Enum
10:57
Sunny Valley Studio
Рет қаралды 37 М.