Собеседование .NET 2021. Каверзные вопросы: Что такое IOC?

Поделиться
HTML-код
  • Опубликовано: 23 авг 2024
  • Разбираем вопросы которые задают на собеседованиях. В данном цикле будут разобраны 10 вопросов, собранных в 8-ми коротких видеороликах. В четвёртом видео разбираем ответ на вопрос: что такое IOC (Inversion of control, или Инверсия управления), а также IOC контейнеры.
    Мы в Telegram: t.me/platinum_...
    Чат для общения и вопросов: t.me/platinum_...

Комментарии • 14

  • @Mr43046721
    @Mr43046721 3 года назад +5

    Отличный канал! Разбор вопросов на собеседованиях ещё сильнее мотивирует закапываться в книжки, чтобы понимать глубину всех глубин.

    • @PlatinumTechTalks
      @PlatinumTechTalks  3 года назад +2

      Спасибо за отзыв! Это точно, только не всегда конечно времени хватает закапываться в книжки. а что еще печальнее - это то, что если не использовать изученное в книгах на практике, то оно забывается. но в целом, всё что там пишут - это вполне логичные вещи, понимание которых приходит со временем и понимаешь, что всё не так уж сложно. хотя изначально всё кажется сложным)

  • @SoulGoodman-c7j
    @SoulGoodman-c7j 26 дней назад

    Посмотрел первые минуты, это ведь идет объяснение не IoC, а DIP. Разве нет?

  • @ilyal5712
    @ilyal5712 3 года назад +2

    Какая разница в понятиях:
    1) IOC (Inversion of Control)
    2) Dependency Injection
    3) Dependency Inversion (из SOLID)
    ?

    • @PlatinumTechTalks
      @PlatinumTechTalks  3 года назад +20

      Интересный вопрос, учитывая что эти понятия тесно связаны. Для начала стоит ответить на вопрос, что такого вообще зависимость. Зависимость - это любой объект, от которого зависит другой объект. Или проще говоря, когда в одном классе есть ссылка на другой класс. Как следствие при изменении одного класса может также потребоваться внесение изменений в тот класс, в котором используется измененный класс.
      Есть набор причин по которым следует избегать зависимостей. Ioc, Dependency injection и dependency inversion как раз про это.
      1) IoC - грубо говоря это набор рекомендаций для написания слабо связанного кода.
      2) Dependency injection - это больше уже про реализацию IoC. Но в целом, это идея обработки зависимостей вне зависимого класса, когда зависимому классу не нужно ничего делать. То есть вместо того, чтобы зависимый класс сам создавал экземпляры других классов, ему эти экземпляры передаются во время инициализации. А ответственность за создание экземпляров возлагается на третью сторону.
      3) Dependency inversion - принцип, который гласит, что ничто не зависит ни от чего конкретного, всё зависит от абстракций, от интерфейсов.
      В ближайшее время на нашем канале планируется серия видеороликов с кратким и с развернутым обзором принципов SOLID с примерами.

    • @ilyal5712
      @ilyal5712 3 года назад +1

      @@PlatinumTechTalks
      Спасибо за ответ.

  • @user-ul2ds5qu6b
    @user-ul2ds5qu6b 2 года назад

    Почему-то все при описании ioc приводят только один пример с di и на этом все заканчивается. А ведь у ioc наверняка намного больше применений.

    • @Eless88
      @Eless88 2 года назад

      тут di и service locator, только все в кучу. ну, вообще просто самое распространенное и понятное применение. Еще колбеки, конечно. Возможно, неочевидное, но тоже пример ioc :)

  • @semen083
    @semen083 3 года назад +1

    Для какого уровня разработчика данная серия вопросов?

    • @PlatinumTechTalks
      @PlatinumTechTalks  3 года назад +2

      Эти вопросы были взяты из собеседования на позицию Middle. Но мы бы не делили вопросы по позициям. На Senior позиции спрашивают те же вопросы, но тут важна глубина ответа и понимания

  • @user-gy3ei7fk8w
    @user-gy3ei7fk8w Год назад +5

    Не вводите людей в заблуждение, ребята) Какой IoC-контейнер?)
    Инверсия управления (IoC) говорит об изменении потока исполнения, присуща фреймворкам и функциям обратного вызова и не имеет никакого отношения к управлению зависимостями.
    Почитайте лучше статью Сергея Теплякова и сами разберитесь о чем говорите sergeyteplyakov.blogspot.com/2014/11/di-vs-dip-vs-ioc.html

  • @poppyfield2438
    @poppyfield2438 2 года назад

    Напишите пожалуйста, что за Симонс, который пишет про DI подробно.

  • @leonid_konoplin
    @leonid_konoplin Год назад

    Марк Симан - автор упоминаемой книги