Самый популярный паттерн в программировании!

Поделиться
HTML-код
  • Опубликовано: 26 сен 2024
  • Не смотря видео, как вы думаете, о каком паттерне идёт речь?
    C# Light с нуля до первой зарплаты - ijunior.ru/csha...
    C# Medium от Junior до Middle - ijunior.ru/csha...
    МОЯ КНИГА - csharpbook.saku...
    ГРУППА КАНАЛА - holymonkey
    ШКОЛА ПРОГРАММИРОВАНИЯ ЯЮНИОР - holymon...
    Я В VK - rsakutin
    INSTA - / sakutinhuytin
    ЧАТ В ТЕЛЕГЕ - t.me/csharp_fa...

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

  • @olegbaslak880
    @olegbaslak880 5 лет назад +31

    Сделай, пожалуйста, видео про DI в геймдеве (напримере Unity), какие контейнеры применяются, как и на каком этапе происходит внедрение зависимостей. Думаю, многим будет интересно. Спасибо

    • @thiagouriel2966
      @thiagouriel2966 3 года назад

      pro trick : watch movies at flixzone. I've been using them for watching a lot of movies these days.

    • @leoantonio5477
      @leoantonio5477 3 года назад

      @Thiago Uriel Definitely, I've been using flixzone} for since november myself :D

    • @millermoshe787
      @millermoshe787 3 года назад

      @Thiago Uriel Yea, I've been watching on Flixzone} for since november myself :D

  • @daniilafendulov7401
    @daniilafendulov7401 5 лет назад +38

    Из-за превью подумал, что это видео от ExtreamCode

    • @saraad9716
      @saraad9716 5 лет назад +17

      Понял, что это не так на 0:53

    • @shadowspirit6459
      @shadowspirit6459 3 года назад

      Дадада)))))

  • @hendospirit889
    @hendospirit889 5 лет назад +18

    По геймдев паттернам есть неплохая книга "Game Programming Patterns", советую

  • @deniszubanov9823
    @deniszubanov9823 4 года назад

    Ждем новые познавательные видео про паттерны! Лайк!

  • @dark32167
    @dark32167 5 лет назад +2

    Хочу поделиться своей болью. Главный недостаток стратегии в том, что ты не можешь понять без дебага, что за код будет выполняться ( особенно если мы говорим про реализацию через делегаты). И еще стратегия всегда должна быть чистой функцией, если вы не хотите полного пиздеца в коде =.=
    У нас на проекте через стратегию реализуется паттерн билдер при чем там стратегия на стратегии и стратегией погоняет. Составляется кверя в базу, на основе входных данных. Кверя может быть очень очень сложной и понять без дебага что тебе вообще пришло и где там может быть ошибка просто невозможно. Я не понимаю зачем кто то это все реализовал именно так, но проклинаю его каждый раз как мне приходится оказываться в той части кода.

  • @ЛеонидМанатов-ъ7о
    @ЛеонидМанатов-ъ7о 5 лет назад +3

    паттерны в геймдеве было бы круто посмотреть

  • @НикитаЗеленцов-б1й

    Лайк поставил, а это коммент благодарности :3

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

    Видео полезное, спасибо автору. Но есть уточняющий момент. Перед тем как начать декомпозировать классы и их поведение, начиная внедрять зависимости, лучше бы сперва объяснить ООП по-человечески. В противном случае люди могут начать процесс декомпозиции не правильно, городя большое кол-во абстракции, которые сами по себе ничего не значат.
    Для примера "с поиском противников":
    Если существует такой класс как "противник" и вы предполагаете делегировать функцию "поиск" противника, то это уже заведомо проектируете не верно.
    Более правильным примером будет следующая абстракция:
    Существо не проводит "поиск" сам по себе. Для поиска у него должен быть "инстурмент поиска". Но если вы внедрите зависимость "инструмент поиска" в экземплят "противник", то это означает, что "противник" всегда (на протяжении собственного цикла жизни) может обладать только 1-им таким инструментом. В таком случае вы уже на уровне кода ограничили механики для расширения.
    Лучше вариант:
    Это создать фабрику реализации всех "инструментов поиска" и внедрение в класс "противник". Далее можно хранить к "противнике" список доступных ему реализации, а в метод "поиск" передавать аргумент "инструмента" и тогда ваша логика может стать масштабируемой. Собственно для чего стратегия и придумывалась.
    Весь этот текст я писал не для того, чтобы показать, что автор не прав в своем видео. Понятно дело, что пример из видео специально упрощен, для более легкого восприятия. Моя точка зрения заключается только в том, что без достаточно хороших знании ООП, применения паттернов (например стратегия) может создать только больше проблем.

  • @AlexK-pe6po
    @AlexK-pe6po 4 года назад +1

    Я думал это синглтон

  • @kandreyk9159
    @kandreyk9159 4 года назад

    даже если алгоритм не имеет состояния, но имеет зависимости (а те в свою очередь тоже могут иметь зависимости), то выносить его в стратегию в любом случае надо, чтобы разрешением зависимостей занимался контейнер

  • @pofapaem5341
    @pofapaem5341 5 лет назад +3

    Как раз недавно начал разбирать паттерны) Жирный лайкос)

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

    Почему бы не сделать стратегию определения кто враг - аргументом стратегии нахождения ближайшего врага? Ведь если вокруг враги, но рядом друг, то стратегия поиска юнита найдёт друга, и его забракует то, что он не враг. А куча врагов повсюду найдены не будут

  • @_nickname_nickname_
    @_nickname_nickname_ 2 года назад +1

    Разве это не принцип полиморфизм??

  • @olegpetroff6186
    @olegpetroff6186 4 года назад

    инкапсуляция сокрытия?? зачет!

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

    Хулиган!!!

  • @davidhops3952
    @davidhops3952 4 года назад

    про геймдев паттерны как то шо надо было бы

  • @montanas_code
    @montanas_code 5 лет назад

    Только начинаю программировать, сложно понять( хотелось бы по мелочам рассмотреть эту же тему

  • @AlexWolfson
    @AlexWolfson 5 лет назад +2

    ...в программированиИ*

  • @dimauzyanov9758
    @dimauzyanov9758 2 года назад +1

    Я смотрю только начало. Если речь пойдёт о одиночестве, то я отписываюсь и ставлю диз

  • @LittleBabyJohn
    @LittleBabyJohn 4 года назад

    Почему все по разному определяют инкапсуляцию? Кто-то говорит, что это сокрытие, а другие, напротив, что это не сокрытие

  • @T1m0the0S
    @T1m0the0S 5 лет назад +1

    Go

  • @limit_OFF
    @limit_OFF 4 года назад

    Подскажите, пожалуйста. После нажатия на кнопку анимация ломается, а после выхода из меню и вовсе застывает - при следующем заходе в меню кнопка не реагирует на курсор и нажатия. При создании анимации меняю только цвет и размер кнопки, в аниматоре ничего не меняю.
    Видео для наглядности: ruclips.net/video/4Ey1gCyF950/видео.html

  • @АнтонНиколаев-ь1с
    @АнтонНиколаев-ь1с 5 лет назад

    А в чем смысл называть переменную через нижнее подчеркивание? " _enemyFinder" ?

    • @ВладДок-д8щ
      @ВладДок-д8щ 5 лет назад

      Вообще насколько я знаю то в С/С++ так разграничивают функции/переменные библиотеки от того что использует программист в библиотеке. Обычно ты тоже можешь использовать функции с нижним подчёркиванием, но ты сразу уходишь на уровень ниже чем тот который тебе даёт библиотека по умолчанию. Думаю тут используется для явного указания что переменные инкапсулированы.

    • @phat80
      @phat80 4 года назад

      Влад Док насколько я знаю, нижнее подчеркивание говорит о том, что данное поле класса имеет модификатор доступа private. И это не обязаловка, а просто некое соглашение.