Недавно наткнулся на твой канал. Я много видео посмотрел по Zenject и это самое наглядное объяснение на реальной практике. Каждое видео полезно. Спасибо за контент 🔥
Не совсем понимаю. Удалось проинжектить эвент бас "миддл эдишн" в НЕ монобеховский класс. Подписки прошли успешно, но вот как отписаться от событий не пойму. В эдиторе, при выходе из плей мода, дебаг.лог в методе Dispose не показывает ничего.
Пример со сказкой конечно прикольно придуман, но решение прокидывать иголку через все классы намеренно неправильное. Не удивлюсь если в реальном проекте ты бы создал зависимость от иголки только у яйца, а дальше пошёл так же ступенчато прокидывать яйцо в утку, а утру в зайца. И в этом случае Pure DI всё бы решил (мне кажется стоило бы об этом сказать в видосе).
С поинтом согласен, но я специально подобрал такой пример как некий edge-case, но этот пример имеет место в реальной разработке и такие "иголки" случаются, пусть и в более сложной форме, где нельзя прокинуть иголку в яйцо, а дальше уже без неё. Понятно что этот пример можно сделать чище, но чтобы сохранилась наглядность и без перегруза информацией была ясна проблема - решил сделать так
Если сам новый класс который вы создаёте в реалтайме не является сервисом, то скорее всего diContainer.Inject(object) должно хватить, как на 11:50 В гитхабе можете посмотреть скрипт TurnManager.cs, там я так инжектирую команды
Может кто то знает? Пытаюсь освоить zenject уже после Spring(java backend). Возникает вопрос: есть ли какие либо аннотации Qualifier? Ну или хотя бы возможность создать фабрику, которая будет создавать разные реализации интерфейса исходя из класса в который объект создаваемый фабрикой будет заинжекчен. Пока что получилось в класс внедрить фабрику, которая получает в метод Create() параметром Type и уже внутри реализации кастомной фабрики через switch или Dictionary выбирается вариант реализации. Но, конечно, хотелось бы как то упростить это странный код и вынести эту логику в биндинги...
Я пока не очень понимаю проблему. Есть фабрика, в неё вы хотите заинжектить префаб, который может быть разного типа? Речь идёт о монобех префабе или просто обычном классе? Пока не могу понять
Этот момент когда дотс кажется легче и понятнее, сколько не глядел но никак не могу убедить себя в использовании зенжекта и прописывать километр строк кода с биндами, через какое то время просто теряешь понимание что это "удобно", необходимость прокидывать какие то ссылки руками никуда не уходит, на кой он тогда нужен, волшебные зависимости о которых рассказывают на ютубах несут в себе столько воды что хватило помыться всему району Если бы конечно посмотреть какой то простой проект(сложнее чем 2 скрипта, хотя бы на десяток и 3 сцены) с нуля что бы понять за что мы боремся, где то самое удобно и как оно выглядит
Я потихоньку начинаю вкатываться в dots и ECS , так что скоро и у меня сложится про это какое-то мнение) Попробую написать небольшой проект и проанализирую насколько все удобнее с этим вашим ECS)
Недавно наткнулся на твой канал. Я много видео посмотрел по Zenject и это самое наглядное объяснение на реальной практике. Каждое видео полезно. Спасибо за контент 🔥
огромное спасибо!
насколько видео про zenject смотрел, ваше самое лучшее и понятным языком рассказано 👍
Только после этого видео, я наконец-то понял как это всё работает. Спасибо тебе большое, автор!
Ваще круто рассказал, так держать))
Урааа, спасибо за видос
Запишите пожалуйста видео про Finite State Machine 🙏
Как раз материал готовлю, через недельку, максимум две будет на канале
@@sergeykazantsev1655 это потрясающе ❤
@@sergeykazantsev1655спасибо большое , жду 🔥👍
Было бы здорово@@sergeykazantsev1655
done
Не совсем понимаю. Удалось проинжектить эвент бас "миддл эдишн" в НЕ монобеховский класс. Подписки прошли успешно, но вот как отписаться от событий не пойму. В эдиторе, при выходе из плей мода, дебаг.лог в методе Dispose не показывает ничего.
Вопрос снят. У MonoInstaller есть метод OnDestroy. Вызвал Dispose в нем.
Ну да, если класс не монобех, его должен dispose-ить кто-то другой)
харош
Пример со сказкой конечно прикольно придуман, но решение прокидывать иголку через все классы намеренно неправильное. Не удивлюсь если в реальном проекте ты бы создал зависимость от иголки только у яйца, а дальше пошёл так же ступенчато прокидывать яйцо в утку, а утру в зайца. И в этом случае Pure DI всё бы решил (мне кажется стоило бы об этом сказать в видосе).
С поинтом согласен, но я специально подобрал такой пример как некий edge-case, но этот пример имеет место в реальной разработке и такие "иголки" случаются, пусть и в более сложной форме, где нельзя прокинуть иголку в яйцо, а дальше уже без неё.
Понятно что этот пример можно сделать чище, но чтобы сохранилась наглядность и без перегруза информацией была ясна проблема - решил сделать так
а что делать если я хочу внедрить сервис в класс который я создаю в реалтайме, но он не монобеховский?
Если сам новый класс который вы создаёте в реалтайме не является сервисом, то скорее всего diContainer.Inject(object) должно хватить, как на 11:50
В гитхабе можете посмотреть скрипт TurnManager.cs, там я так инжектирую команды
Может кто то знает? Пытаюсь освоить zenject уже после Spring(java backend). Возникает вопрос: есть ли какие либо аннотации Qualifier? Ну или хотя бы возможность создать фабрику, которая будет создавать разные реализации интерфейса исходя из класса в который объект создаваемый фабрикой будет заинжекчен. Пока что получилось в класс внедрить фабрику, которая получает в метод Create() параметром Type и уже внутри реализации кастомной фабрики через switch или Dictionary выбирается вариант реализации. Но, конечно, хотелось бы как то упростить это странный код и вынести эту логику в биндинги...
Я пока не очень понимаю проблему. Есть фабрика, в неё вы хотите заинжектить префаб, который может быть разного типа? Речь идёт о монобех префабе или просто обычном классе? Пока не могу понять
Этот момент когда дотс кажется легче и понятнее, сколько не глядел но никак не могу убедить себя в использовании зенжекта и прописывать километр строк кода с биндами, через какое то время просто теряешь понимание что это "удобно", необходимость прокидывать какие то ссылки руками никуда не уходит, на кой он тогда нужен, волшебные зависимости о которых рассказывают на ютубах несут в себе столько воды что хватило помыться всему району
Если бы конечно посмотреть какой то простой проект(сложнее чем 2 скрипта, хотя бы на десяток и 3 сцены) с нуля что бы понять за что мы боремся, где то самое удобно и как оно выглядит
Я потихоньку начинаю вкатываться в dots и ECS , так что скоро и у меня сложится про это какое-то мнение)
Попробую написать небольшой проект и проанализирую насколько все удобнее с этим вашим ECS)
@@sergeykazantsev1655приветствую, каков вердикт в отношении дотс?😊
Ничего ты быстрый
У меня видео про анонс лежало в столе несколько дней)