Здравствуйте. Вопрос по архитектуре. У меня в классе есть enum для трех

состояний игры
GameReady,
GameRunning,
GameOver

Как лучше всего реализовать доступ к этим состояниям для других компонентов?

Подскажите либо конкретный способ, либо в какую сторону гуглить)

Upd. Проект маленький/средний. Но можно подсказать способ и для масштабируемых проектов

12 ответов

11 просмотров

У меня в маленькой игре это три bool, тоже интересно как оптимально делается

Зачем другим компонентам знать о состояниях? Состояния наоборот должны формировать набор компонентов, т.е. зависимости инвертируются.

Фэблю- Автор вопроса
Alexander Pluzhnikov
Зачем другим компонентам знать о состояниях? Состо...

Для меня пока это сложно. Что посоветуете изучить? DI контейнеры и zenject и вот это вот всё применяется в маленьких слабо масштабируемых проектах? Или это все оптимальнее применять в больших проектах, а в маленьких лучше просто писать на булевых переменных

Фэблю
Для меня пока это сложно. Что посоветуете изучить?...

Размер проекта не важен. Достаточно просто изучить, как работает инъекция зависимостей, и жизнь станет сильно проще. Zenject сразу в мусорное ведро. Вместо него бери VContainer. Документации для начального понимания должно хватить, там хорошее вступление.

Фэблю- Автор вопроса
Фэблю
Звучит оптимистично. Благодарю!

Вот хорошая статья: https://medium.com/kadinche-engineering/learning-architecture-messagepipe-and-vcontainer-by-creating-a-game-requested-by-my-own-daughter-8ee8303a718 Правда здесь еще прикрутили MessagePipe, но его бы я тоже рекомендовал к изучению. Удобная вещь для применения бок о бок с DI.

Alexander Pluzhnikov
Размер проекта не важен. Достаточно просто изучить...

серьезно, а почему тогда extenject все расхваливают

BlackHole
серьезно, а почему тогда extenject все расхваливаю...

Не знаю, кто его расхваливает. Монструозный форк, который ничем не отличается от сабжа, кроме поддержки новых версий движка. К тому же, еще и не обновляется и не закрывает кучу открытых тикетов.

Alexander Pluzhnikov
Не знаю, кто его расхваливает. Монструозный форк, ...

Хрен его знает, каждую вторую вакансию открою, а там Extenject везде ипанный

BlackHole
Хрен его знает, каждую вторую вакансию открою, а т...

Это корпоративный легаси потому что. На чем изначально пайплайн был построен, то и оставили. Для новых проектов его нет никакого смысла применять.

Alexander Pluzhnikov
Размер проекта не важен. Достаточно просто изучить...

А почему Zenject так плох? Сам не изучал, на будущее

Похожие вопросы

Обсуждают сегодня

Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Цвет аватарки с буквой же зависит от айди? Как может быть такое, что этот цвет поменялся?
Lencore
2
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Приветствую друзья, подскажите сколько в среднем стоит на данный момент создать тг бота который будет как магазин? Показывать ассортименты доставлять заказы и тд? Все по станд...
Eugene
3
А вот из практических задач на работе, кто работает расскажите относительно задач на работе, как вообще выживаете. Если есть желание, интересно тоже что и как сейчас с этим . ...
...
2
Добрый день! Кто-нибудь знает как подключить твиг в контроллеры плагина?
Николай Афанасенко
5
@dblackCat Привет. Это же твой плагин? https://octobercms.com/plugin/catdesign-productbundle
Alexey Yakimov
5
Карта сайта