Strategy Pattern шаблон проектирование Стратегия

Поділитися
Вставка
  • Опубліковано 27 жов 2024

КОМЕНТАРІ • 14

  • @nina_knyazeva
    @nina_knyazeva 2 роки тому

    У вас отличные видео уже не для новичков. а такого очень мало в русскоязычном сегменте.
    спасибо))

  • @hexruin4569
    @hexruin4569 4 роки тому +1

    Спасибо))

  • @АлександрСосо-щ1б
    @АлександрСосо-щ1б 2 роки тому +1

    почему-то напоминает Invertion of Control

  • @vladzaiko5012
    @vladzaiko5012 3 роки тому

    так а где условие какой процессинг должен подставлятся ?

  • @OlegHolovko
    @OlegHolovko 4 роки тому

    А можно интерфейс передавать как параметр в метод? Или тогда фабрика получится?

    • @livecodingschool8906
      @livecodingschool8906  4 роки тому

      не совсем понятно что имеется ввиду, можете пример привести ?

  • @artempalamarchuk2605
    @artempalamarchuk2605 4 роки тому

    то есть в данном случае это получаетсяи strategy и dependency injection?

    • @lordaz1652
      @lordaz1652 4 роки тому

      c помощью этой двоицы можно во много раз улучшить качество кода ))

    • @lordaz1652
      @lordaz1652 4 роки тому +1

      еще можно добавить использование интерфейсов для связи компонентов системы и тогда можно будет внедрять любой структурный паттерн

  • @ДенисСергеевич-ц6р

    Подскажите в чем отличие "стратегии" от "фабрики"? Я бы сказал, что в примере показана фабрика.

    • @igorkharchenko
      @igorkharchenko 2 роки тому

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

    • @agnar878
      @agnar878 2 роки тому

      @@igorkharchenko если честно , не понял разницы с фабрикой. Один в один же. Для тупых) можете ещё раз пояснить. Плиз

    • @igorkharchenko
      @igorkharchenko 2 роки тому

      @@agnar878 нет, не один в один: фабрика нужна для создания класса нужным образом, с нужными параметрами конфигами и прочим, а стратегия используется для возможности выбора, какой именно алгоритм при каких условиях нужно выбрать
      вот более понятный пример: фабрика по производству автомобиля (CarFactory которая создаёт Car):
      автомобилю нужны колёса (список MichelinWheel[] 4 шт.),
      движок (CarEngine),
      двери (список Door[] 4 шт.)
      т.е. при вызове фабрики (carFactory->create()) в классе Car будут такие агрегаты, как Wheel, Engine, Door
      а теперь пусть езжает наше авто; у нас есть два разных способа езды:
      по трассе (класс HighwayRoadDrive) можем ехать как болид формулы-1 под 150
      по русской дороге (класс BullshitRoadDrive) можем ехать максимум 40, проверяя наш болид на виброустойчивость и материться в окно
      в данном случае это не фабрика, поскольку мы всего-лишь *выбираем* алгоритм способа езды из двух представленных в зависимости от того, куда наш код ваще занесло, ничем этот алгоритм не насыщая дополнительно и не конфигурируя его

    • @agnar878
      @agnar878 2 роки тому

      @@igorkharchenko спасибо за ответ. У вас очень годные видео.
      Я не так выразился. С простой фабрикой все понятно. Я имел ввиду абстрактную фабрику