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

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ต.ค. 2024

ความคิดเห็น • 39

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

    Недавно наткнулся на твой канал. Я много видео посмотрел по Zenject и это самое наглядное объяснение на реальной практике. Каждое видео полезно. Спасибо за контент 🔥

  • @КорвинКори-б6у
    @КорвинКори-б6у 7 หลายเดือนก่อน

    Урааа, спасибо за видос

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

    Запишите пожалуйста видео про Finite State Machine 🙏

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

      Как раз материал готовлю, через недельку, максимум две будет на канале

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

      @@sergeykazantsev1655 это потрясающе ❤

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

      @@sergeykazantsev1655спасибо большое , жду 🔥👍

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

      Было бы здорово​@@sergeykazantsev1655

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

      done

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

    Только после этого видео, я наконец-то понял как это всё работает. Спасибо тебе большое, автор!

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

    огромное спасибо!
    насколько видео про zenject смотрел, ваше самое лучшее и понятным языком рассказано 👍

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

    Не совсем понимаю. Удалось проинжектить эвент бас "миддл эдишн" в НЕ монобеховский класс. Подписки прошли успешно, но вот как отписаться от событий не пойму. В эдиторе, при выходе из плей мода, дебаг.лог в методе Dispose не показывает ничего.

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

      Вопрос снят. У MonoInstaller есть метод OnDestroy. Вызвал Dispose в нем.

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

      Ну да, если класс не монобех, его должен dispose-ить кто-то другой)

  • @ОлегАбрамов-д5ч
    @ОлегАбрамов-д5ч 7 หลายเดือนก่อน

    Может кто то знает? Пытаюсь освоить zenject уже после Spring(java backend). Возникает вопрос: есть ли какие либо аннотации Qualifier? Ну или хотя бы возможность создать фабрику, которая будет создавать разные реализации интерфейса исходя из класса в который объект создаваемый фабрикой будет заинжекчен. Пока что получилось в класс внедрить фабрику, которая получает в метод Create() параметром Type и уже внутри реализации кастомной фабрики через switch или Dictionary выбирается вариант реализации. Но, конечно, хотелось бы как то упростить это странный код и вынести эту логику в биндинги...

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

      Я пока не очень понимаю проблему. Есть фабрика, в неё вы хотите заинжектить префаб, который может быть разного типа? Речь идёт о монобех префабе или просто обычном классе? Пока не могу понять

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

    Пример со сказкой конечно прикольно придуман, но решение прокидывать иголку через все классы намеренно неправильное. Не удивлюсь если в реальном проекте ты бы создал зависимость от иголки только у яйца, а дальше пошёл так же ступенчато прокидывать яйцо в утку, а утру в зайца. И в этом случае Pure DI всё бы решил (мне кажется стоило бы об этом сказать в видосе).

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

      С поинтом согласен, но я специально подобрал такой пример как некий edge-case, но этот пример имеет место в реальной разработке и такие "иголки" случаются, пусть и в более сложной форме, где нельзя прокинуть иголку в яйцо, а дальше уже без неё.
      Понятно что этот пример можно сделать чище, но чтобы сохранилась наглядность и без перегруза информацией была ясна проблема - решил сделать так

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

    Ваще круто рассказал, так держать))

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

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

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

      Если сам новый класс который вы создаёте в реалтайме не является сервисом, то скорее всего diContainer.Inject(object) должно хватить, как на 11:50
      В гитхабе можете посмотреть скрипт TurnManager.cs, там я так инжектирую команды

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

    харош

  • @VitVit312
    @VitVit312 7 หลายเดือนก่อน +1

    Этот момент когда дотс кажется легче и понятнее, сколько не глядел но никак не могу убедить себя в использовании зенжекта и прописывать километр строк кода с биндами, через какое то время просто теряешь понимание что это "удобно", необходимость прокидывать какие то ссылки руками никуда не уходит, на кой он тогда нужен, волшебные зависимости о которых рассказывают на ютубах несут в себе столько воды что хватило помыться всему району
    Если бы конечно посмотреть какой то простой проект(сложнее чем 2 скрипта, хотя бы на десяток и 3 сцены) с нуля что бы понять за что мы боремся, где то самое удобно и как оно выглядит

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

      Я потихоньку начинаю вкатываться в dots и ECS , так что скоро и у меня сложится про это какое-то мнение)
      Попробую написать небольшой проект и проанализирую насколько все удобнее с этим вашим ECS)

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

      ​@@sergeykazantsev1655приветствую, каков вердикт в отношении дотс?😊

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

    Ничего ты быстрый

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

      У меня видео про анонс лежало в столе несколько дней)