Даже повыделываться негде, вроде все по факту
Хотя как вспомню его определение паттерну "репозиторий", сразу корежит
Хотя как вспомню его определение паттерну "репозиторий", сразу корежит
Forwarded from Лавка Разработчика (Andrey Vavilichev)
Еще день, еще схемка! MVVM подъехал
Дисклеймер: схемка расширяет информацию из предыдущего поста
MVP, MVC, MVVM - распространенные архитектурные паттерны в разработке приложений. Многие говорят, что они фигово ложатся на геймдев, и доля правды в этом есть. Нюанс в том, чтобы понять кто такой View, а кто такой ViewModel/Controller/Presenter, кто из них является монобехом и кто кем управляет. Небольшая путанница, я бы сказал.
На мой скромный взгляд, лучше всего на движок ложится MVVM подход, потому что его легко можно раскидывать в виде дерева зависимостей спускаясь от корневых вьюмоделей и баиндеров и глубоко внутрь во вложенность. Очень хорошо ложится на движок, монобехи, префабы и т.д.
В своем опыте я видел несколько реализации MVVM, из них была плохая только одна: где ViewModel была монобехом. Было жутко неудобно и непонятно зачем так. Самая надежная схема (представлена в скриншоте) - когда модель представлена сервисами и обработчиками данных, вьюмодели могут ссылаться на сервисы, чтобы запрашивать данные или их изенение, а вью, которые представлены баиндерами (монобехами), могут получать данные из вьюмодели (которые доступны только на чтение), подписываться на них и посылать сигналы с запросом на изменение данных (читай Инпут). Вот и всё
Область видимости следующая:
- Данные никого не видят, их могут только обрабатывать снаружи
- Обработчики команд (данных) видят данные и могут их обрабатывать, больше ни о ком не знают
- Сервисы знают про обработчики команд, имеют данные для чтения и методы для запуска изменения данных. В теории могут создавать вьюмодели
- ВьюМодели знают про сервисы, поэтому могут туда посылать запросы на изменение данных. Также они знают о данных (через сервисы), и могут их конвертировать в удобный формат. Например: при изменении количества объектов в инвентаре реагировать внутренним дополнительным флагом IsInventoryEmpty, эти данные торчат наружа (публичные) в виде реактивных свойств. Ну и методы инпута есть, которые прилетают из монобехов
- Вью (то есть баиндеры), знают про их вьюмодель. Она передается через специальный метод Bind(). Таким образом вью может подписаться на изменение данных (даже обработанных вьюмоделью), и посылать сигналы через публичные методы (инпут).
Как-то так. Остались вопросы - обязательно задавай в комментах!
Дисклеймер: схемка расширяет информацию из предыдущего поста
MVP, MVC, MVVM - распространенные архитектурные паттерны в разработке приложений. Многие говорят, что они фигово ложатся на геймдев, и доля правды в этом есть. Нюанс в том, чтобы понять кто такой View, а кто такой ViewModel/Controller/Presenter, кто из них является монобехом и кто кем управляет. Небольшая путанница, я бы сказал.
На мой скромный взгляд, лучше всего на движок ложится MVVM подход, потому что его легко можно раскидывать в виде дерева зависимостей спускаясь от корневых вьюмоделей и баиндеров и глубоко внутрь во вложенность. Очень хорошо ложится на движок, монобехи, префабы и т.д.
В своем опыте я видел несколько реализации MVVM, из них была плохая только одна: где ViewModel была монобехом. Было жутко неудобно и непонятно зачем так. Самая надежная схема (представлена в скриншоте) - когда модель представлена сервисами и обработчиками данных, вьюмодели могут ссылаться на сервисы, чтобы запрашивать данные или их изенение, а вью, которые представлены баиндерами (монобехами), могут получать данные из вьюмодели (которые доступны только на чтение), подписываться на них и посылать сигналы с запросом на изменение данных (читай Инпут). Вот и всё
Область видимости следующая:
- Данные никого не видят, их могут только обрабатывать снаружи
- Обработчики команд (данных) видят данные и могут их обрабатывать, больше ни о ком не знают
- Сервисы знают про обработчики команд, имеют данные для чтения и методы для запуска изменения данных. В теории могут создавать вьюмодели
- ВьюМодели знают про сервисы, поэтому могут туда посылать запросы на изменение данных. Также они знают о данных (через сервисы), и могут их конвертировать в удобный формат. Например: при изменении количества объектов в инвентаре реагировать внутренним дополнительным флагом IsInventoryEmpty, эти данные торчат наружа (публичные) в виде реактивных свойств. Ну и методы инпута есть, которые прилетают из монобехов
- Вью (то есть баиндеры), знают про их вьюмодель. Она передается через специальный метод Bind(). Таким образом вью может подписаться на изменение данных (даже обработанных вьюмоделью), и посылать сигналы через публичные методы (инпут).
Как-то так. Остались вопросы - обязательно задавай в комментах!
🔥7❤4🥰4
Немножко мемов, чтобы не скучно было работать в такую погоду
Но вообще настроение устроить стрим с марафоном по ЗВ. Только 6 нормальных частей, а не повесточные фанфики, конечно же
Кто за?🔥
Но вообще настроение устроить стрим с марафоном по ЗВ. Только 6 нормальных частей, а не повесточные фанфики, конечно же
Кто за?
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
"No, You're Not A Skywalker!"
The Jedi had enough of Rey.
You can clone your own AI voices here: (Affiliate link)
https://elevenlabs.io/?from=partnerlambert3291
You can create custom AI videos here: (Affiliate link)
https://klingaiaffiliate.pxf.io/je2DxZ
Join this channel ;)
https…
You can clone your own AI voices here: (Affiliate link)
https://elevenlabs.io/?from=partnerlambert3291
You can create custom AI videos here: (Affiliate link)
https://klingaiaffiliate.pxf.io/je2DxZ
Join this channel ;)
https…
🔥9
Блять, так вот откуда ноги растут...
Вот так и доверяй метаниту
А я то все гадал, хуле мне эту чушь на мок собесах рассказывают)
Вот так и доверяй метаниту
А я то все гадал, хуле мне эту чушь на мок собесах рассказывают)
😁17🤔4😨4
Не будем ходить вокруг да около...
23 июля, среда, 16:00, марафон по Звездным Войнам
P.S. Хз насколько это затянется, так как буду душнить про каждую пасхалку в фильмах
23 июля, среда, 16:00, марафон по Звездным Войнам
P.S. Хз насколько это затянется, так как буду душнить про каждую пасхалку в фильмах
🔥10👍2😁1
Да придут все кто веруют (сходка в Москве)
Давно я с вами со всеми не виделся (и пиво не пил). Так что предлагаю в среду 30.07 ближе к 19:00 собраться в каком-нибудь баре, поделиться успехами и познакомиться с новыми членами сообщества
Ставьте в чате + ответом на пост, я добавлю вас в отдельную группу и там вместе решим, куда пойдем
Давно я с вами со всеми не виделся (и пиво не пил). Так что предлагаю в среду 30.07 ближе к 19:00 собраться в каком-нибудь баре, поделиться успехами и познакомиться с новыми членами сообщества
Ставьте в чате + ответом на пост, я добавлю вас в отдельную группу и там вместе решим, куда пойдем
🔥4
https://youtu.be/bqZVCBEbgHU?si=1h5-KWygj2Wx-KJP
Самый кайф - это раздел "В чем плюс такого подхода". Оказалось, реактивность нужна, ЧТОБЫ УДОБНЕЕ ОТПИСЫВАТЬСЯ
Дальнейшее комментировать отказываюсь😂
Самый кайф - это раздел "В чем плюс такого подхода". Оказалось, реактивность нужна, ЧТОБЫ УДОБНЕЕ ОТПИСЫВАТЬСЯ
Дальнейшее комментировать отказываюсь😂
YouTube
Прокачай систему событий в Unity! Реактивность + IDisposable. Как подписывать лямбды?
⚡️⚡️⚡️ Полезные ссылки ⚡️⚡️⚡️
🔎 https://yakovlevgamedev.ru/?utm_source=youtube - обучение разработке игр (старт записи 14 августа)
🔎 https://t.me/yakovlev_gamedev - основной telegram канал (тут можно забрать проект)
📝Некоторое время назад я выпускал видео…
🔎 https://yakovlevgamedev.ru/?utm_source=youtube - обучение разработке игр (старт записи 14 августа)
🔎 https://t.me/yakovlev_gamedev - основной telegram канал (тут можно забрать проект)
📝Некоторое время назад я выпускал видео…
😁11❤4👍3🙈1
О, а вот и damage control про IDisposable и using вышел, мое увожение
YouTube
Твоя игра небезопасна! Как использовать IDisposable и using в Unity
⚡️⚡️⚡️ Полезные ссылки ⚡️⚡️⚡️
🔎 https://yakovlevgamedev.ru/?utm_source=youtube - обучение разработке игр (старт записи 14 августа)
🔎 https://t.me/yakovlev_gamedev - основной telegram канал
📝Некоторое время назад я выпускал видео, где разбиралась база по…
🔎 https://yakovlevgamedev.ru/?utm_source=youtube - обучение разработке игр (старт записи 14 августа)
🔎 https://t.me/yakovlev_gamedev - основной telegram канал
📝Некоторое время назад я выпускал видео, где разбиралась база по…
😁6🔥4👍2
Forwarded from DevOps MemOps
MemOps 😃
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18❤11
Принес вам годный видос про запахи кода
Хотя конечно автору бы по рукам дал за нейминг типа:
Но очень круто, что он показывает, как пользоваться авторефакторингом в райдере. На удивление, я мало видел чтобы им кто-то пользовался
А для тех, кому интересны остальные запахи кода, можете заглянуть сюда (работает с впн) или полистать книжку Фаулера "Рефакторинг. Улучшение существующего кода"
Хотя конечно автору бы по рукам дал за нейминг типа:
IEnemyBehavior b;
Но очень круто, что он показывает, как пользоваться авторефакторингом в райдере. На удивление, я мало видел чтобы им кто-то пользовался
А для тех, кому интересны остальные запахи кода, можете заглянуть сюда (работает с впн) или полистать книжку Фаулера "Рефакторинг. Улучшение существующего кода"
YouTube
Don’t Let These 4 Code Smells Ruin Your Unity Game
Shotgun Surgery is one of the most frustrating code smells in Unity — when a single change forces you to edit multiple scripts scattered across your project. In this video, we’ll tackle it along with three other common pitfalls: Switch Statements, Temporary…
🔥13🗿1
Forwarded from IT менторы
Отзыв на ментора: mikhail_kolobov #mikhail_kolobov
Специальность: Gamedev / C# / Unity #gamedev
Менторился у Миши в формате доведения до трудоустройства.
Стал первым человеком, кто пришёл к нему на такой формат уже второй раз, и ничуть не пожалел — как и в прошлый. Не буду расписывать подробно первый заход — первый отзыв болтается где-то среди старых, можно найти и почитать, как это было.
Если кратко, то зашёл на мидла на $1500 осенью 2024, легко закрыл испытательный срок и без напряга отработал в том месте полгода, после чего ушёл дальше. Решил не останавливаться на достигнутом и получить сеньорскую лычку. Понял, что потраченное время для меня ценнее, чем деньги, поэтому снова пошел к Мише, уже зная всё то, что смогу получить, чтобы максимально приблизить момент выхода в новое место.
За примерно два месяца получил шесть офферов с разными условиями, проектами и размерами вознаграждения. Не спешил с выбором — искал, пока не нашел место, которое понравилось по всем моим личным критериям. По курсу на момент написания отзыва это $4000 с копейками. Успешно закрыл испытательный срок, после чего и пишу этот отзыв.
Обману, если скажу, что это было просто сложно — это было пиздецки сложно. Несколько раз я почти сдался. Но, учитывая размер той ступени, на которую я запрыгнул, по-другому быть не могло. Естественно, Миша по запросу поддерживал всё это время в технических моментах. Но что самое главное, и что мне не потребовалось в прошлый раз, — это моральная поддержка. У него хорошо получается трезво оценить ситуацию и сказать: «Чел, не надумывай хуйни, по фактам так и так, остальное — твои домыслы. У тебя есть такой, такой и такой варианты, вот такие плюсы/минусы, выбирай, я бы выбрал это». Такая поддержка оказалась гораздо важнее, чем технические советы в конкретных кейсах.
Для всех, кто думает — пойти или не пойти к Мише:
1) Вместе с Мишей ты не собираешь ошибки на каждом шагу и не делаешь бесполезных действий. Он как компас, который указывает тебе самую короткую дорогу. Ты обходишь 80 % всех косяков и расстройств. Идёшь по списку, где каждый шаг наиболее эффективен для твоей цели в данный момент.
2) Тебе всё ещё нужно ШАГАТЬ с компасом в руке. Это не волшебная таблетка «Трудоустройство» и не кнопка «Бабло». Если не будешь шагать и начнёшь забивать — к цели не придёшь ни с Мишей, ни с кем угодно. Это упорный труд, день за днём, недели и месяцы работы. Процесс, в котором в моменте результаты не очевидны. В какой-то момент просто стреляет — и ты понимаешь, что на финише или рядом..
3) Я тот самый человек, который часто спорил с Мишей, когда мне казалось: «Да чё за херня, ну не может быть такого, здесь ты точно не шаришь сам». Забавно осознавать, что не помню ни одного спора, где Миша оказывался неправ, а я прав 😄. Не всегда сразу, но со временем понимал, что он был прав. Так что в его экспертности в геймдеве сомнений нет. Советую делать то, что он скажет, и не делать то, что он скажет не делать — даже если кажется бредом.
Смело пиши мне, если что-то заинтересует по поводу отзыва — всегда открыт к новым контактам.
Контакт автора отзыва
✅ Этот отзыв верифицирован платформой. Автор отзыва показал нам факты, которые подтверждают всё изложенное в отзыве.
👉 Найти/стать ментором 👈
Специальность: Gamedev / C# / Unity #gamedev
Менторился у Миши в формате доведения до трудоустройства.
Стал первым человеком, кто пришёл к нему на такой формат уже второй раз, и ничуть не пожалел — как и в прошлый. Не буду расписывать подробно первый заход — первый отзыв болтается где-то среди старых, можно найти и почитать, как это было.
Если кратко, то зашёл на мидла на $1500 осенью 2024, легко закрыл испытательный срок и без напряга отработал в том месте полгода, после чего ушёл дальше. Решил не останавливаться на достигнутом и получить сеньорскую лычку. Понял, что потраченное время для меня ценнее, чем деньги, поэтому снова пошел к Мише, уже зная всё то, что смогу получить, чтобы максимально приблизить момент выхода в новое место.
За примерно два месяца получил шесть офферов с разными условиями, проектами и размерами вознаграждения. Не спешил с выбором — искал, пока не нашел место, которое понравилось по всем моим личным критериям. По курсу на момент написания отзыва это $4000 с копейками. Успешно закрыл испытательный срок, после чего и пишу этот отзыв.
Обману, если скажу, что это было просто сложно — это было пиздецки сложно. Несколько раз я почти сдался. Но, учитывая размер той ступени, на которую я запрыгнул, по-другому быть не могло. Естественно, Миша по запросу поддерживал всё это время в технических моментах. Но что самое главное, и что мне не потребовалось в прошлый раз, — это моральная поддержка. У него хорошо получается трезво оценить ситуацию и сказать: «Чел, не надумывай хуйни, по фактам так и так, остальное — твои домыслы. У тебя есть такой, такой и такой варианты, вот такие плюсы/минусы, выбирай, я бы выбрал это». Такая поддержка оказалась гораздо важнее, чем технические советы в конкретных кейсах.
Для всех, кто думает — пойти или не пойти к Мише:
1) Вместе с Мишей ты не собираешь ошибки на каждом шагу и не делаешь бесполезных действий. Он как компас, который указывает тебе самую короткую дорогу. Ты обходишь 80 % всех косяков и расстройств. Идёшь по списку, где каждый шаг наиболее эффективен для твоей цели в данный момент.
2) Тебе всё ещё нужно ШАГАТЬ с компасом в руке. Это не волшебная таблетка «Трудоустройство» и не кнопка «Бабло». Если не будешь шагать и начнёшь забивать — к цели не придёшь ни с Мишей, ни с кем угодно. Это упорный труд, день за днём, недели и месяцы работы. Процесс, в котором в моменте результаты не очевидны. В какой-то момент просто стреляет — и ты понимаешь, что на финише или рядом..
3) Я тот самый человек, который часто спорил с Мишей, когда мне казалось: «Да чё за херня, ну не может быть такого, здесь ты точно не шаришь сам». Забавно осознавать, что не помню ни одного спора, где Миша оказывался неправ, а я прав 😄. Не всегда сразу, но со временем понимал, что он был прав. Так что в его экспертности в геймдеве сомнений нет. Советую делать то, что он скажет, и не делать то, что он скажет не делать — даже если кажется бредом.
Смело пиши мне, если что-то заинтересует по поводу отзыва — всегда открыт к новым контактам.
Контакт автора отзыва
✅ Этот отзыв верифицирован платформой. Автор отзыва показал нам факты, которые подтверждают всё изложенное в отзыве.
👉 Найти/стать ментором 👈
🔥27❤4😍2