Не могу не поблагодарить вас за столь клевые обучающие видео! Спасибо! и всего вам наилучшего!
@gamedevlavka2 жыл бұрын
Спасибо!)
@user-yw5dq2it9g2 жыл бұрын
Огромное спасибо тебе за такие видео. Скоро у тебя будет дофига подписчиков ты только потерпи немного, и не в коем случае не бросай канал, как многие "unity ютубери" делают. У тебя просто отлично получается объяснить )
@vitaliySobakinson2 жыл бұрын
Отличное видео, спасибо!
@Fenix72rus2 жыл бұрын
Спасибо за урок!
@Fenix72rus2 жыл бұрын
Жду новые видео по архитектуре
@Paulsams2 жыл бұрын
Мне очень не понравилась работа со словарём. Делать ContainsKey, а потом ещё не через Add добавлять, а через квадратные скобки, то есть делая ещё кучу икволс и гет хеш код... А ещё делать контеинс кей, а потом ремув... Ну блин: для эдда есть TryAdd: если фолс, то кинешь исключение. Для взятия из словаря есть TryGetValue. Для удаления: Remove и так уже возвращает бул, если не нашёл. А так получается кучу лишних действия над словарями). В случаи с сервис локатором это не страшно, ведь можно закешировать ссылки, но если это будет в каком-нибудь сложном алгоритме и в апдейте... Люди же будут думать, что таких методов нету и будут вот так проверить сначала на наличие ключа, а только потом брать значение и будет алгоритм раза в 1,5-1,8 медленнее со стороны взятия элементов из словаря.
@def61412 жыл бұрын
Спасибо! Новичку самое то 👍🔥
@poziratelnekotianok54192 жыл бұрын
Сделай пожалуйста видео про инвентарь в виде списка.
@andrewalexart Жыл бұрын
Зачем он нужен-то. Неплохо бы объяснить вначале ролика)
@mrpaganinifeed26172 жыл бұрын
Ролик замечательный, но не прочь его покритиковать. Вот я обычный разработчик, зашедший на это видео. Хочу же узнать на какие службы поставить мне сервис локатор. Что же я хочу услышать с начала видео? Что это за паттерн, какие он задачи решает , какие проблемы ему сопутствуют? А слышу объяснение в два слова и смотрю реализацию паттерна, который решает неизвестные задачи и тд. В итоге , только к концу ролика я могу составить мнение о надобности паттерна....
@gamedevlavka2 жыл бұрын
Хорошее замечание, учту, спасибо)
@baikolepus2 жыл бұрын
Ролик не отвечает на вопрос "что такое паттерн сервис-локатор?". Он отвечает на вопрос, как его реализовать и использовать в условиях юнити
@rdragon5872 жыл бұрын
Как часто используется Service locator? Заменяет ли его Zenject?
@МаликаСапаргалиева2 жыл бұрын
Заменяется полностью, это все DI
@CiTRyS322 жыл бұрын
Рубрика "научи плохому"?) Пробовал как-то статический сервис локатор, со статическим же вложенным классом, избавляет от словарей и проверок, но в конечном итоге понял, что не зря он считается анти-паттерном, когда графы посыпались, перешел на авторезолвер и прям счастлив
@gamedevlavka2 жыл бұрын
Я чистой статикой стараюсь не пользоваться, но видел пару типов архитектур, где статические сервис локаторы отрабатывали очень хорошо. Справлялись со своей задачей, поддерживали версионность и контекст. Думаю, то, является ли паттерн удобным или неудобным - вопрос архитектуры приложения в целом. В любом случае, я показываю инструмент, пользоваться им не обязательно :)
@alexmakarov25042 жыл бұрын
Почему все говорят патЕрн, если пАтерн?
@nightyonetwothree Жыл бұрын
потому что языковая ассимиляция. Почему в америке ставят ударение "Иван", а не "ивАн"?
@am-no4jm Жыл бұрын
Спасибо, как загрузить код с удалённого сервера
@mrgoodpeople9 ай бұрын
Почему все говорят, что Локатор Служб - это антипаттерн?
@FVA3222 ай бұрын
Размытие ответственностей + кто угодно в любом месте в коде может выгрузить сервис из локатара и всё пойдет по езде. ИМХО
@_EnVyUs2 жыл бұрын
Кто то будет переписывать свой код на подобный
@aarontower Жыл бұрын
kzbin.info/www/bejne/qZjPh2WhoMZ8otU мы точно возвращаем newServis? А не _itemsMap[type]
@gamedevlavka Жыл бұрын
Так это одно и тоже, там одна и та же ссылка)
@aarontower Жыл бұрын
@@gamedevlavka с ссылочными типами всегда почему то лень разбираться) предпочитаю фактическое использование)
@gamedevlavka Жыл бұрын
@@aarontower с опытом это будет на автомате)
@darkharbinger61102 жыл бұрын
Спасибо за видео! Когда реализовывал Service Locator, то еще дополнительно делал интерфейс IRequireService public interface IRequireService where TService : class { } И метод расширения public static TService InitializeService(this IRequireService obj) where TService : class { IServiceLocator serviceLocator = Singleton.Instance; if (serviceLocator == null) { return default; } return serviceLocator.GetService(); } И после регистрации необходимого сервиса в локаторе служб public class ServiceLocator : ServiceLocatorBase { protected override void OnInit() { RegisterService(new Service()); } protected override void OnAfterInit() { } } Можно было получать необходимые зависимости следующим образом public class Test : MonoBehaviour, IRequireService { private IService service; void Start() { service = this.InitializeService(); service.Print(); } } Что, как по мне, делает использование локатора служб немного удобнее и позволяет сразу увидеть какие зависимости требует класс
@gamedevlavka2 жыл бұрын
Такой апгрейд неплох, если юзаешь синглтоны. Если архитектура позволяет, то, почему бы и нет)