Самый популярный паттерн в программировании!
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...
Сделай, пожалуйста, видео про DI в геймдеве (напримере Unity), какие контейнеры применяются, как и на каком этапе происходит внедрение зависимостей. Думаю, многим будет интересно. Спасибо
pro trick : watch movies at flixzone. I've been using them for watching a lot of movies these days.
@Thiago Uriel Definitely, I've been using flixzone} for since november myself :D
@Thiago Uriel Yea, I've been watching on Flixzone} for since november myself :D
Из-за превью подумал, что это видео от ExtreamCode
Понял, что это не так на 0:53
Дадада)))))
По геймдев паттернам есть неплохая книга "Game Programming Patterns", советую
Ждем новые познавательные видео про паттерны! Лайк!
Хочу поделиться своей болью. Главный недостаток стратегии в том, что ты не можешь понять без дебага, что за код будет выполняться ( особенно если мы говорим про реализацию через делегаты). И еще стратегия всегда должна быть чистой функцией, если вы не хотите полного пиздеца в коде =.=
У нас на проекте через стратегию реализуется паттерн билдер при чем там стратегия на стратегии и стратегией погоняет. Составляется кверя в базу, на основе входных данных. Кверя может быть очень очень сложной и понять без дебага что тебе вообще пришло и где там может быть ошибка просто невозможно. Я не понимаю зачем кто то это все реализовал именно так, но проклинаю его каждый раз как мне приходится оказываться в той части кода.
паттерны в геймдеве было бы круто посмотреть
Лайк поставил, а это коммент благодарности :3
Видео полезное, спасибо автору. Но есть уточняющий момент. Перед тем как начать декомпозировать классы и их поведение, начиная внедрять зависимости, лучше бы сперва объяснить ООП по-человечески. В противном случае люди могут начать процесс декомпозиции не правильно, городя большое кол-во абстракции, которые сами по себе ничего не значат.
Для примера "с поиском противников":
Если существует такой класс как "противник" и вы предполагаете делегировать функцию "поиск" противника, то это уже заведомо проектируете не верно.
Более правильным примером будет следующая абстракция:
Существо не проводит "поиск" сам по себе. Для поиска у него должен быть "инстурмент поиска". Но если вы внедрите зависимость "инструмент поиска" в экземплят "противник", то это означает, что "противник" всегда (на протяжении собственного цикла жизни) может обладать только 1-им таким инструментом. В таком случае вы уже на уровне кода ограничили механики для расширения.
Лучше вариант:
Это создать фабрику реализации всех "инструментов поиска" и внедрение в класс "противник". Далее можно хранить к "противнике" список доступных ему реализации, а в метод "поиск" передавать аргумент "инструмента" и тогда ваша логика может стать масштабируемой. Собственно для чего стратегия и придумывалась.
Весь этот текст я писал не для того, чтобы показать, что автор не прав в своем видео. Понятно дело, что пример из видео специально упрощен, для более легкого восприятия. Моя точка зрения заключается только в том, что без достаточно хороших знании ООП, применения паттернов (например стратегия) может создать только больше проблем.
Я думал это синглтон
даже если алгоритм не имеет состояния, но имеет зависимости (а те в свою очередь тоже могут иметь зависимости), то выносить его в стратегию в любом случае надо, чтобы разрешением зависимостей занимался контейнер
Как раз недавно начал разбирать паттерны) Жирный лайкос)
Почему бы не сделать стратегию определения кто враг - аргументом стратегии нахождения ближайшего врага? Ведь если вокруг враги, но рядом друг, то стратегия поиска юнита найдёт друга, и его забракует то, что он не враг. А куча врагов повсюду найдены не будут
Разве это не принцип полиморфизм??
инкапсуляция сокрытия?? зачет!
Хулиган!!!
про геймдев паттерны как то шо надо было бы
Только начинаю программировать, сложно понять( хотелось бы по мелочам рассмотреть эту же тему
...в программированиИ*
Я смотрю только начало. Если речь пойдёт о одиночестве, то я отписываюсь и ставлю диз
Почему все по разному определяют инкапсуляцию? Кто-то говорит, что это сокрытие, а другие, напротив, что это не сокрытие
Go
Подскажите, пожалуйста. После нажатия на кнопку анимация ломается, а после выхода из меню и вовсе застывает - при следующем заходе в меню кнопка не реагирует на курсор и нажатия. При создании анимации меняю только цвет и размер кнопки, в аниматоре ничего не меняю.
Видео для наглядности: ruclips.net/video/4Ey1gCyF950/видео.html
А в чем смысл называть переменную через нижнее подчеркивание? " _enemyFinder" ?
Вообще насколько я знаю то в С/С++ так разграничивают функции/переменные библиотеки от того что использует программист в библиотеке. Обычно ты тоже можешь использовать функции с нижним подчёркиванием, но ты сразу уходишь на уровень ниже чем тот который тебе даёт библиотека по умолчанию. Думаю тут используется для явного указания что переменные инкапсулированы.
Влад Док насколько я знаю, нижнее подчеркивание говорит о том, что данное поле класса имеет модификатор доступа private. И это не обязаловка, а просто некое соглашение.